Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

O meu resultado esta dando "NaN"

Gente, eu não to sabendo onde esta o erro, o meu resultado esta sendo sempre NaN. Quando eu uso o return, vai sempre o NaN, mas se eu uso a var imc, da certo, não sei onde estou errando no return.

<meta charset="UTF-8">

<script>
    function pulaLinha () {

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

    function mostra (frase) {

        document.write (frase);
        pulaLinha ();
    }

    function calculaImc (peso, altura) {

        return pesoInformado / (alturaInformada * alturaInformada);
    } 
     var nome = prompt ("Informe seu nome");
     var alturaInformada = prompt (nome + ", informe sua altura");
     var pesoInformado = prompt (nome + ", informe seu peso");
     var imc = pesoInformado / (alturaInformada * alturaInformada);

     mostra (nome + ", O seu IMC é " + Math.round (calculaImc));

    </script>
2 respostas
solução!

Hebert, aparentemente, o problema está nos nomes dos parâmetros. Repare que você definiu os parâmetros como peso e altura na função calculaImc, mas no retorno da função, você usa pesoInformado e alturaInformada, que não existem no escopo da função.

Eu sugiro também que você coloque o cálculo numa variável... var imc = peso / (altura * altura), e retorne a variável.

Matheus Alves, mesmo se eu alterar os parâmetros, continua dando o mesmo erro, o retorno sempre vai dar erro, mas se eu uso a variável não da esse erro.