ok, ahora lo que entiendo es que, mas que errores en el codigo original eran mas bien faltas de buenas practicas de programacion, porque he ejecutado varias veces el codigo original y ninguna vez me ha dado error, nunca le ha dado mas descuento a los que tengan mas de 30000 millas, siempre le ha dado 10% de descuento a los de mas de 5000 millas, y cero a los que tengan 5000 millas o menos, que es redundante el else, si, que en el caso de que tengas 35000 millas por ejemplo estas cumpliendo dos condiciones, tambien es cierto, pero por lo mismo se usa un else if, que el codigo modificado es mas eficiente y mas limpio, si, pero que el codigo original tenga errores, no, no se si estoy equivocado, pero no veo la falla en el codigo original mas alla de lo que dije, que el codigo modificado sea mas limpio.