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

Aparentemente o código esta correto, mas sempre o resultado é Nan

<meta charset= "UTF-8">

<script>

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

}

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

}

function calculaImc(altura, peso) {
    return peso / (altura * altura);

}

var nome= prompt("Informe seu nome: ");
var alturaInformada= prompt(nome + " , Informe sua altura: ");
var pesoInformado= prompt(nome + ", Informe seu peso: ");

var imc= calculaImc(alturaInformada, pesoInformado);

document.write(nome +", Seu IMC é " + imc);

</script>
5 respostas

Opa Lorrane, eu testei aqui e pareceu certo. Consegue manda um print da tela, por gentileza?

Exceto se você estiver usando virgulas. No padrão americano, a separação é por ponto.

solução!

Olá Lorrane, tudo bem?

O código está gerando NaN porque você deve estar entrando com um número com vírgula. O correto é entrar com ponto.

Uma solução (caso você queira pode) ser:

var imc= calculaImc(alturaInformada.replace(',','.'), pesoInformado.replace(',','.'));

O replace substitui a virgula por ponto. E se não tiver vírgula, ele não faz nada =)

O problema foi realmente no momento em por a altura eu usei o numero com "," utilizando o "." funcionou certinho, obrigada !

Qualquer dúvida não deixe de perguntar aqui no fórum.

Se quiser já ir testando algumas alternativas que vão um pouco além do curso de introdução à lógica de programação a dica do Elton acima é uma boa.

Bons estudos!