Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
3
respuestas

Descuento superior al que deben recibir

Independientemente de la forma en que esta planteado. Checando los errores reportados:

  1. descuento de 5000 no funciona
  2. clientes con + de 30000 reciben descuento mayor al que deberían

El primer error se soluciona con con un >= en el segundo if, no veo como aporta quitar el "else" y tampoco alcanzo a entender como aporta "sumar" el descuento a la variable (porcentajeDescuento = porcentajeDescuento + 10) en lugar de asignar el valor exacto (porcentajeDescuento = 20)

Sin embargo para el segundo problema reportado, no encuentro escenario en el que suceda que, algún cliente pueda tener un descuento mayor.

¿alguno ha encontrado este escenario?

3 respuestas

Opino lo mismo que Alfonso, no pude reproducir el issue. Si estuviese en el trabajo lo devolvería al equipo de QA con un "Could Not Reproduce"

Según la plataforma la respuesta correcta es esta:

let porcentajeDescuento = 0;
let cantidadMillas = prompt("Ingrese la cantidad de millas");
if (cantidadMillas > 30000) {
    porcentajeDescuento = porcentajeDescuento + 20;
} else {
    if (cantidadMillas > 5000) {
        porcentajeDescuento = porcentajeDescuento + 10;
    }
}

Con la siguiente explicación:

La inclusión del bloque 'if' dentro del bloque 'else' garantiza que si la cantidad de millas es superior a 30000, el descuento será del 20%, y si no supera este valor pero es superior a 5000, el descuento será del 10%. En el caso de que la cantidad de millas sea inferior a 5000, el descuento permanecerá en cero, ya que no se cumple el requisito mínimo para obtener un descuento.

No tiene mucho sentido en mi opinión, sería lo mismo que hacer esto:

let porcentajeDescuento = 0;
let cantidadMillas = prompt("Ingrese la cantidad de millas");
if (cantidadMillas > 30000) {
    porcentajeDescuento = 20;
} else if (cantidadMillas > 5000) {
        porcentajeDescuento =  10;
}

tambien lo copie y pegue en node js y me funciona como el enunciado deberia funcionar , en dado caso se me ocurria incluir un >= para que el descuento empiese en 5000 pero en si n no vi falla