Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Error] El codigo dado es correcto

Buen dia a todos, el codigo del ejercicio "Trabajando con condicionales" es correcto. Para que fuera incorrecto deberia de cambiar el "else if" por "if" solamente. Ya que al cumplir alguna condicion deja de ejecutar las siguientes, es decir, si cumple la condicion > 30k ya no realiza la comparacion de > 5k y el else.

let porcentajeDescuento = 0;

if (cantidadMillas > 30000) { porcentajeDescuento = 20; } else if (cantidadMillas > 5000) { porcentajeDescuento = 10; } else { porcentajeDescuento = 0; }

Saludos!

1 respuesta

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:

  1. Personas con una cantidad de millas inferior a 5,000 no reciben descuento.
  2. Personas con una cantidad de millas superior a 30,000 reciben un 20% de descuento.
  3. 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:

  1. Al intentar usar el descuento de 5,000 millas, no se aplica ningún descuento.
  2. 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.