2
respostas

Por que não aparece os resultados?

<!DOCTYPE html>
<html>
    <head>
        <title>Imc</title>
        <meta charset="utf-8">
    </head>    
    <body>
        <h1>Personalisado Imc</h1>
        <p>Vamos calcula os IMC:</p>
        <script>

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

            function mostra(frase){
                document.write(frase);
            }

            function calculaImc(peso, altura){
                var imc = peso / (altura * altura)
                return imc;
            }


            var nome = prompt("Qual é o seu nome: ");
            var pesoInf = prompt("Qual é o seu peso: ");
            var alturaInf = prompt("Qual é a sua altura: ");
            var imcResultado = Math.round(calculaImc(pesoInf, alturaInf));

            if(imcResultado < 18.5 ){
                mostra(nome + ", você está abaixo do peso da média, seu peso : " + peso + ", seu IMC: " + imcResultado);
            }
            if( imcResultado > 35.5 ){
                mostra(nome + ", você está acima da média, seu peso : " + peso + ", seu IMC: " + imcResultado);
            }
            if( imcResultado >= 18.5 && imcResultado <= 35.5 ){
                mostra(nome + ", você está na média, seu peso : " + peso + ", seu IMC: " + imcResultado);    
            }

        </script>
    </body>    
</html>
2 respostas

Oi Marcilio, o problema acontece quando você tenta mostrar a mensagem, veja, você tá tentando usar a variável peso, quando na verdade, a variável que você pode usar é a pesoInf.

Eaw Marcilio, tudo bem? Eu rodei o seu código aqui e conseguir fazer ele apresentar os resultados. Cuidado quanto você apresentar uma variável com determinado nome, você precisa utiliza esse mesmo nome para chamar essa variável. Suas variáveis (pesoInf) e (alturaInf) estava sendo usadas apenas como (peso) e (altura). Veja onde elas se encontram e faça as modificações.

Observe as modificações que fiz em seu código:

<!DOCTYPE html>
<html>
    <head>
        <title>Imc</title>
        <meta charset="utf-8">
    </head>    
    <body>
        <h1>Personalisado Imc</h1>
        <p>Vamos calcula os IMC:</p>
        <script>

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

            function mostra(frase){
                document.write(frase);
            }

            function calculaImc(pesoInf, alturaInf){
                var imc = pesoInf / (alturaInf * alturaInf)
                return imc;
            }


            var nome = prompt("Qual é o seu nome: ");
            var pesoInf = prompt("Qual é o seu peso: ");
            var alturaInf = prompt("Qual é a sua altura: ");
            var imcResultado = Math.round(calculaImc(pesoInf, alturaInf));

            if(imcResultado < 18.5 ){
                mostra(nome + ", você está abaixo do peso da média, seu peso : " + pesoInf + ", seu IMC: " + imcResultado);
            }
            if( imcResultado > 35.5 ){
                mostra(nome + ", você está acima da média, seu peso : " + peso + ", seu IMC: " + imcResultado);
            }
            if( imcResultado >= 18.5 && imcResultado <= 35.5 ){
                mostra(nome + ", você está na média, seu peso : " + pesoInf + ", seu IMC: " + imcResultado);    
            }

        </script>
    </body>    
</html>