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

IMC não calcula

<meta charset="utf-8">

<script>

function espaço() {

    document.write("<br>");

}

function exibir(texto) {

    document.write(texto);
    espaço();

}

function calculaImc(peso,altura) {

    return peso / altura^2;

}

var nome = prompt("Informe seu nome");
var pesoInformado = prompt(nome + " ,me informe seu peso");
var alturaInformada = prompt(nome + " ,me informe sua altura");
var imc = calculaImc(pesoInformado, alturaInformada); 

exibir("Olá, "+ nome +" !");
espaço();

exibir("O seu IMC é: "+ imc);

</script>

Quando mando rodar o programa no Chrome, o Prompt funciona. A mensagem final fica:

Olá, Alex !

O seu IMC é: NaN

Porque o IMC não tá reconhecendo os valores informados?

Obrigado

3 respostas

Oi Alexandre, tudo bom?

Você pode depurar o problema com alguns alerts (ou console.log). Algo como:

function calculaImc(peso,altura) {
    alert(peso);
    alert(altura);

    return peso / altura^2;

}

Quais dados estão aparecendo nos alerts?

Eu estou resolvendo o exercício usando o prompt. Estou colocando como resposta:

prompt(nome + " ,me informe seu peso"); ----> 75 prompt(nome + " ,me informe sua altura"); ----> 1,71

solução!

Consegui resolver o problema. Estou habituado a separar casas decimais com o excel. Se usa vírgula . Para o JavaScript eu devo seguir o padrão internacional e usar ponto, ao invés da vírgula.

Ou seja,

Ao invés de imputar 1,71 para minha altura, eu deveria ter imputado 1.71.

Obrigado de qualquer maneira, Andre