Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Bug] 07 Trabajando con condicionales ERROR

El modelo de negocio tal cuál dice

  • 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.

Entonces el código inicial es el adecuado para la solución. Sin embargo la respuesta que brindan dice que las personas con una cantidad de millas superior a 30,000 reciben un 10% de descuento. Por lo tanto la respuesta es incorrecta, no quiero subestimar el curso.

2 respuestas
solución!

que raro me dio perfecto el resultado y la regla la revisare para no quedar en duda.

Yo encontré un par de fallas, igual en las respuestas incorrectas, donde, por ejemplo: OPCIÓN A: Nisiquiera entra a los condicionales debido a que el nombre de las variables es diferente (cantidadDeMillas != cantidadMillas), con la propuesta siguiente de arranque: let porcentajeDescuento = 0; let cantidadDeMillas = prompt("Ingrese la cantidad de millas");

if (cantidadDeMillas > 5000) {//if (cantidadMillas > 5000) { //ni lo lee, nombre diferente //porcentajeDescuento = 10; alert("descuento de 10"); }

if (cantidadDeMillas > 30000) { //porcentajeDescuento = 20; alert("descuento de 20"); } else { //porcentajeDescuento = 0; alert("descuento de 0"); }

OPCION B: removiendo el else nos deja sin respuesta a un valor menor a 5000

OPCION C: Encontré el mismo error que A (cantidadDeMillas != cantidadMillas), además no se establece el valor inicial del porcentajeDescuento, la propuesta para esta opción es:

let cantidadDeMillas = prompt("Ingrese la cantidad de millas"); //let cantidadMillas = prompt("Ingrese la cantidad de millas"); let porcentajeDescuento = 0;

if (cantidadDeMillas > 5000) { porcentajeDescuento = porcentajeDescuento + 10; alert("descuento de 10");

} else { porcentajeDescuento = porcentajeDescuento + 20; alert("descuento de 20"); }

if (cantidadDeMillas > 30000) { porcentajeDescuento = porcentajeDescuento + 20; alert("descuento de 20");

} else { porcentajeDescuento = 0; alert("descuento de 0"); } //mismo error cantidadDeMillas //error en let porcentajeDescuento = 0; no agregado

OPCION D: SOLUCIÓN propuesta para verificar valores: let porcentajeDescuento = 0; let cantidadDeMillas = prompt("Ingrese la cantidad de millas");

if (cantidadDeMillas > 30000) { porcentajeDescuento = porcentajeDescuento + 20; alert("descuento de 20");

} else { if (cantidadDeMillas > 5000) { porcentajeDescuento = porcentajeDescuento + 10; alert("descuento de 10"); } }

NOTA: Mi propuesta de solución para revisar cuánto de descuento se aplica a cada cantidad de millas, incluyendo valores menores a 5000 es:

//PROPUESTA let porcentajeDescuento = 0; let cantidadMillas = prompt("Ingrese la cantidad de millas");

if (cantidadMillas >= 30000) { porcentajeDescuento = 20; alert("descuento de 20"); //alert("descuento del 20 %");

} else if (cantidadMillas >= 5000) { porcentajeDescuento = 10; alert("descuento de 10");

} else { porcentajeDescuento = 0; alert("descuento de 0"); }