Solucionado (ver solución)
Solucionado
(ver solución)
4
respuestas

[Duda] El codigo funciona pero no se si este del todo correcto.

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

if (cantidadMillas >= 30000) {
    porcentajeDescuento = porcentajeDescuento + 20;
    alert(`Tu descuento es de: ${porcentajeDescuento}`);

} else {
    if (cantidadMillas >= 5000) {
        porcentajeDescuento = porcentajeDescuento + 10;
        alert(`Tu descuento es de: ${porcentajeDescuento}`);
    }
}  {
    if (cantidadMillas < 4999)  {
        porcentajeDescuento = porcentajeDescuento + 0;
        alert(`Tu descuento es de:  ${porcentajeDescuento}`);
    }
}
4 respuestas

Sí, también puedes colocarlo como un else.

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

if (cantidadMillas >= 30000) {
    porcentajeDescuento = porcentajeDescuento + 20;
    alert(`Tu descuento es de: ${porcentajeDescuento}`);

} else {
    if (cantidadMillas >= 5000) {
        porcentajeDescuento = porcentajeDescuento + 10;
        alert(`Tu descuento es de: ${porcentajeDescuento}`);
    }
    else{
        alert(`Tu descuento es de:  ${porcentajeDescuento}`);
    }
}	

ay menos mal.. pensé que estaba equivocada en el razonamiento. Gracias. La duda que tengo ahora es porque dentro de un else hacen un if. Si con el else if tambien funciona. ?

solución!

Sí, también lo puedes hacer con un else if así como muchas otras formas más. Ya en base a tu experiencia podrás refactorizar el código a futuro. Solo que la principal idea de este primer curso, es mostrar y explicar una pequeña base de como funciona una estructura condicional anidada.

Saludos. :D

Como bien dijo el compañero, funcionar funciona, aunque lo correcto realmente es que después del primer else encierres todo lo que sigue con {} ya que significa que dentro de ese else estas ejecutando las condiciones para las 5000 millas y para menos de las 5000 millas.

Otro detalle es que no es necesario que uses "if (cantidadMillas < 4999)" con esto me refiero a el numero 4999, de hecho es un problema, ya que si alguien ingresa que tiene 4999 millas, el programa no da respuesta, podes decir que sean <5000 millas, no genera ningún problema, ya que la anterior condición ya contempla la igualdad a las 5000millas

Saludos y exitos.