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

Error en condicional if

Buen dia

Me puedes por favor ayudar a validar que tengo mal en mi codigo, ya que al ejecutarlo el "sobrepeso" me aplica tanto a sobrepeso como a el "adecuado".


<meta charset="UFT-8">

<h1> PROGRAMA CALCULAR IMC</h1>

<script>

    function saltarLinea() {

        document.write("<br>");
        document.write("<br>");
        document.write("<br>");
    }

    function imprimir(frase) {

        document.write(frase);
        saltarLinea();

    }

    function calcularImc(peso,altura) {

        return (peso / (altura * altura));

    }

    nombre = prompt("Nombre")
    pesoInformado = prompt("informe su peso")
    alturaInformado = prompt("informe su altura")


    imcCalculado = calcularImc(pesoInformado,alturaInformado)

    imprimir(nombre + " su imc calculado es: " + imcCalculado);

    if (imcCalculado < 18.5) {
           imprimir("Su IMC es insuficiente")

        }

        if (18.6 < imcCalculado < 24.9) {
       imprimir("Su IMC es el adecuado")

    }

    if (imcCalculado >=25) {
       imprimir("Su IMC es de sobrepeso")

    }


</script>
2 respuestas

Hola, probando tu código me generó el problema que describes pero con el IMC insuficiente y el IMC adecuado. Hice estos cambios en el condicional de tu código y al ejecutarlo no encontré problemas.

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

yo lo realice el IMC de la siguiente manera.

<meta charset="UTF-8">

<script> 

     function saltarLinea() {

          document.write("<br>");
          document.write("<br>");
          document.write("<br>");

     }

     function imprimir(frase) {

         document.write(frase);
         saltarLinea();

     }

     function calcularImc(peso,altura) {

         return ( peso / (altura*altura));

     }

nombre = prompt("informe su nombre");
pesoInformado = prompt(nombre + ",informe su peso");
alturaInformado = prompt( nombre +",informe su altura");

imcCalculado = calcularImc(pesoInformado,alturaInformado)

imprimir(nombre + ", su imc calculado es: " + imcCalculado);


if (imcCalculado < 18.5) {
    imprimir("IMC abajo de lo recomendado.");
}

if (imcCalculado >= 18.5) {

    if(imcCalculado < 25){

       imprimir("IMC dentro del intervalo normal.");

    }
}

if (imcCalculado >= 25) {

    if(imcCalculado < 30) {

    imprimir("IMC considerado como sobrepeso.");

    }
}

if (imcCalculado >= 30) {
    imprimir("IMC como abesidad.");
}

</script>