Me parece que la respuesta B hace exactamente lo mismo que la respuesta D. Sin embargo la respuesta B sale como opción errónea.
Creo que el ejercicio esta mal planteado porque según el enunciado hay dos problemas por resolver:
- Problema 1: " al intentar usar el descuento de 5,000 millas, no se aplica ningún descuento"
- Problema 2: "Los clientes con más de 30,000 millas están recibiendo un descuento superior al que deberían recibir"
El problema 2 no lo pude replicar. No encontré ninguna instancia en la que los clientes con mas de 30mil millas pudieran recibir mas descuento de lo indicado
Y el problema 1, radica en como quiere el cliente que funcione el sistema porque primero dice que "Personas con una cantidad de millas INFERIOR A 5,000 no reciben descuento" y luego dice que "Personas con una cantidad de millas SUPERIOR A 5,000, pero inferior a 30,000 reciben un 10% de descuento". El cliente define que quiere para el rango inferior y el rango superior a 5mil, pero no dice que quiere para los que tienen exactamente 5mil, por lo tanto no se le asigna ningún porcentaje de descuento a los que tienen exactamente 5mil.
Estoy mal con ese análisis?
PD. Incluso con el código de la respuesta D, los clientes con exactamente 5mil millas siguen sin recibir descuento