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

que es lo que esta mal en el codigo ??

explico; con este programa si meto los datos en la variable a traves de la funciones parseInt(prompt()) en el calculo del imc me devuelve el valor del dato que ingreso en la variable pesoInformado y no calcula el imc con la formula imc=pesoInformado/(alturaInformada*alturaInformada). la pregunta es que es lo que esta mal, donde esta el error ???

<meta charset=" UTF-8 ">
<h1>PROGRAMA CALCULAR IMC</h1>
<script>
    function saltarlinea () {
        document.write ("<br>");
        document.write ("<br>");
        document.write ("<br>");
    }
    function imprimir (frace) {
        document.write(frace);
        saltarlinea();
    }
    var pesoInformado;
    var alturaInformada;
    var imcCalculado;
    var nombre = prompt("Informe su nombre");
    var pesoInformado = parseInt(prompt("informe su peso"));
    var alturaInformada = parseInt(prompt("informe su altura"));

    var imcCalculado = pesoInformado / (alturaInformada * alturaInformada);
    imprimir(nombre+", Su IMC calculado es: "+imcCalculado);

    if (imcCalculado < 18.5) {
        imprimir ("abajo de lo recomendado");
    }
    if (imcCalculado >= 18.5) {
        if (imcCalculado < 25) {
            imprimir("esta en el rango de lo recomendado");
        }
    }
    if (imcCalculado >= 25) {
        imprimir("Tiene sobrepeso");
    }
</script>
3 respuestas

Hola Johnny, espero estés muy bien.

El error en tú código radica en que estás transformando la altura y el peso a Int, por lo que es un número entero, en caso de que el usuario ponga de altura por ejemplo 1.7 solo tomará la parte entera del número. así mismo con el peso, para que el programa funcione correctamente tienes que transformar esas variables a números decimales con parseFloat.

cambiando parseInt por parseFloat en la declaración de ambas variables el código debería funcionar perfectamente, espero haberte podido ayudar, un saludo

sigue sin funcionar me da el mismo error. cambiando el parseInt por el parseFloat

Buenas noches, Jhonny, falta en el código la función calcular, para que conozca que información va a ingresar, con esto omites la variable imccalculado con return, para que te pueda devolver los valores registrados. Te comparto tu código con la correctión. Espero te sirva

PROGRAMA CALCULAR IMC