Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Ocupar función como parametro para condicional

Estaba realizando el programa acerca de el imc, pero tome una parte del código donde no ocupo una variable final, si no que para agilizar las cosas marqué directamente la operación de la función dentro de la concatenación de la linea del resultado, pero al utilizar esta misma función para poder utilizarla en el parametro del if, no me marca errores el codigo pero la parte del if no se ejecuta, espero puedan ayudarme saludos :)

<meta charset="UTF-8">

<h1>Programa IMC personalizado</h1>

<script>

    function saltoLinea () {
        document.write("<br>");
        document.write("<br>");
        document.write("<br>");
    }

    function imprimir(frase) {
        document.write(frase);
        saltoLinea();
    }

    function calcularImc (peso,altura) {
        return peso / (altura * altura);
    }

    nombre = prompt("Dime tu nombre: ");
    pesoInformado = prompt( nombre + " dime tu peso: ");
    alturaInformada =prompt( nombre + " dime tu altura: ");

    imprimir(nombre + " tu IMC es de: " + calcularImc(pesoInformado,alturaInformada));

    //Insuficiencia ponderal < 18.5

    if (calcularImc < 18.5 ) {

        imprimir("Tienes una insuficiencia ponderal");

    }

    //Intervalo normal 18.5 - 24.9

    if (calcularImc >= 18.5 ) {

        if (calcularImc <= 24.9) {

        imprimir("Estas en un intervalo normal :) ");

        }
    }    
    //Sobrepeso =>25

    if (calcularImc >= 25 ) {

        imprimir("Tienes sobrepeso");

    }    
    //Preobesidad 25.0 - 29.9

    if (calcularImc >= 25.1 ) {

        if (calcularImc <= 29.9) {

         imprimir("Tienes preobesidad");

        }
    }    
    //Obesidad >=30

    if (calcularImc >= 30 ) {

        imprimir("Tienes obesidad ):");

    }    

</script>
1 respuesta
solución!

Hola, Rafael!

Me parece que el problema es la función "calcularImc" que estás utilizando en tus if statements. Al ser una función, tiene que ejecutarse como tal, pero pienso que en la if statement lo que en realidad necesitamos incluir es una variable (valor), así podrá tomar la información desde ahí y ejecutar el if correctamente.

Espero haberme explicado y haberte ayudado.

Te dejo una posible solución a mi punto de vista: Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad