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

2 resultados, 1 confusión... Ayuda.

Hola, comparto mi código en busca de una solución, al momento de calcular (mi peso: 77) y (altura: 1.64), salen 2 resultados indicando que estoy dentro del intervalo normal y sobrepeso. Estoy confundido, debería realmente ser así?

<meta charset="utf-8">

<h2> Programa Cálculo - IMC </h2>

<script>

/*sirve para saltar 1 o 2 líneas, puede ser modificado a más.*/
    function saltoDelinea() {

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

    }

/*sirve para evitar tener que escribir document.write.*/
    function escribir(texto) {

        document.write(texto);
        saltoDelinea();

    }

    function calcularImc(peso,altura,) {

        return(peso / (altura * altura));
    }

    nombre = prompt("Informe su nombre");
    pesoinformado = prompt(nombre + " Informe su peso");
    alturainformada = prompt(nombre + " Informe su altura");
    imcCalculado = calcularImc(pesoinformado,alturainformada);

    escribir(nombre + ", el promedio de su IMC calculado es: " + (imcCalculado));


    if (imcCalculado < 18.5) {
        escribir(nombre + ", su IMC está por debajo de lo recomendado");

    }


    if (imcCalculado >= 18.5) {

        if (imcCalculado < 25) {}

            escribir(nombre + ", su IMC está dentro del intérvalo normal");

    }


    if (imcCalculado >= 25) {

        if (imcCalculado < 30) {}

            escribir(nombre + ", su IMC está considerado como sobrepreso");

    }


    if (imcCalculado >= 30) {
        escribir( nombre + ", su IMC consideraro como obesidad.");

    }

</script>
2 respuestas
solución!

Buenas tardes Danny, el problema que tenes que estas usando la fucion escribir afuera del segundo if, te remarco el error

    if (imcCalculado >= 18.5) {

        if (imcCalculado < 25) {}

            escribir(nombre + ", su IMC está dentro del intérvalo normal");

    }

La forma correca de ponerlo seria:

    if (imcCalculado >= 18.5) {

        if (imcCalculado < 25) {

            escribir(nombre + ", su IMC está dentro del intérvalo normal");
            }
    }

Muchas gracias, si era el problema e incluso también estaba mal esta parte.

    if (imcCalculado >= 25) {

        if (imcCalculado < 30) {}

            escribir(nombre + ", su IMC está considerado como sobrepeso");

    }