Codigo original:
let porcentajeDescuento = 0;
if (cantidadMillas > 30000) {
porcentajeDescuento = 20;
} else if (cantidadMillas > 5000) {
porcentajeDescuento = 10;
} else {
porcentajeDescuento = 0;
}
Estas son las tres condiciones que te piden:
- Personas con una cantidad de millas inferior a 5,000 no reciben descuento.
- Personas con una cantidad de millas superior a 30,000 reciben un 20% de descuento.
- Personas con una cantidad de millas superior a 5,000, pero inferior a 30,000 reciben un 10% de descuento.
Y los problemas que te dan son estos:
- Al intentar usar el descuento de 5,000 millas, no se aplica ningún descuento.
- Los clientes con más de 30,000 millas están recibiendo un descuento superior al que deberían recibir.
En lo que respecta al problema 1, es porque como dice la condicion 3 el descuento del 10% es para superiores a 5,000 millas.
En lo que respecta al problema 2, despues de correr el codigo no e encontrado que se muestre el error que comentan.
Sin embargo entre las alternativas el siguiente codigo es el que cumple con las 3 condiciones:
let porcentajeDescuento = 0;
if (cantidadDeMillas > 30000) {
porcentajeDescuento = porcentajeDescuento + 20;
} else {
if (cantidadDeMillas > 5000) {
porcentajeDescuento = porcentajeDescuento + 10;
}
}
Por lo que creo que el ejercicio tal vez no este planteado correctamente, pero si se puede encontrar una respuesta adecuada.