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

Interagindo com o usuário (O seu IMC é NaN)

*Quando coloco o código para funcionar, aparece: ....., o seu IMC é NaN

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    function mostra(frase) {

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

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

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

var imc = calculaImc(alturaInformada, pesoInformado);

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

</script>
3 respostas
solução!

Olá Mateus,

Tenhos duas considerações a fazer:

1) Acredito que você esteja digitando a altura usando uma virgula como separador. Ex: 1,80 para um metro e oitenta. Se for isso, use o ponto como separador ao invés da vírgula. Exemplo: 1.80.

Observação: Por padrão o comando prompt armazena dados como String, ou seja, armazena a entrada do usuário como texto mesmo que o usuário tenha digitado um número. Para resolver isso acrescenta-se o comando parseInt antes do prompt para convesão da string em numero.. Exemplo: var alturaInformada = parseInt(prompt(nome + ", informe sua altura");

Espero ter colaborado!

Se essa resposta sanou a sua dúvida, por gentileza marque esse tópico com solucionado.

Sucesso parceiro!!!

Olá,

Ótimas observações do Adriano, só um detalhe a acrescentar: como altura e peso são variáveis que tem números reais ( com casas decimais), use o parseFloat para converter de string para número real. Espero ter ajudado. Abraço

Gente, não imaginava que era apenas por conta de um ponto, Obrigado mesmo!!!