Soy muy nuevo en JavaScript y estoy diseñando un programa muy simple para calcular la multa por devolver libros tarde a la biblioteca.
Si 5 o menos días de retraso = 40p por día Si 6 - 10 días de retraso = 65p por día Si más de 10 días de retraso = 80p
¿La instrucción else está devolviendo la cantidad incorrecta? En el ejemplo, totalThree debería ser igual a £ 8,80 durante 11 días, pero el resultado dice £ 7,15.
const daysLate = 11; const totalOne = daysLate * 0.40; const totalTwo = daysLate * 0.65; const totalThree = daysLate * 0.80; if (daysLate <= 5) { console.log(`Your fine is £${totalOne}`) } else if (daysLate >= 6 || daysLate <= 10) { console.log(`Your fine is £${totalTwo}`) } else { console.log(`Your fine is £${totalThree}`) }(daysLate >= 6 || daysLate <= 10) devuelve true porque 11 >= 6. Debe cambiar el || (o) operador en && (y) como se muestra a continuación. Esto verificará si ambas condiciones se cumplen.
else if (daysLate >= 6 && daysLate <= 10) { console.log(`Your fine is £${totalTwo}`); }