3
respostas

Erro na function do IMC

O código retorna a mensagem NaN

  <script>
            var pulaLinha = function () {
                document.write("<br><hr><br>");
            };

            var mostra = function (frase) {
                doucument.write(frase);
                pulaLinha();
            };

            var calculaIMC = function (altura, peso) {
                var imc = peso / (altura * altura);
                return imc;
            };
            var idade = prompt("Quantos anos você tem?");
            var dias = idade * 365;
            document.write("Você já viveu " + dias + " dias de vida");

            var batimentos = dias * 24 * 60 * 80;
            document.write("Seu coração já bateu " + batimentos+ " vezes. Haja coração!");
            pulaLinha();
/*
            var nome = prompt("Bom dia Qual é o seu nome?");
            var peso = prompt("Informe seu peso:");
            var altura = prompt("Informe sua altura");
            var idade = prompt("Digite sua Idade");

            document.write("Bem vindo " + nome + "!" + " Seu peso é :" + peso + " e sua altura é: " + altura);
            pulaLinha();
            document.write("Seu IMC é de : " + calculaIMC);
            pulaLinha();
            document.write("E estou a " + calculaIMC - 35) + " da obesidade excessiva");
            pulaLinha();


            if (calculaIMC - 35) > 35) {
                alert("Você está acima do peso")
            } else {
                alert("Você está jovem e no peso ideal");
            } */
        </script>
3 respostas

Em qual linha está dando esse erro? O erro NaN significa "Not a Number", dá uma verificada se alguma variável está recebendo um tipo de valor que não deveria. Tipo um campo de número recebendo palavras ou caracteres.

Bom dia Pedro!

NaN significa: Not a Number.

Provavelmente o valor que você está passando para o prompt não é um número, você pode validar isto usando a função global isNaN().

isNaN(idade);

Espero ter ajudado, bons estudos!

Você pode usar um parseInt() para transformar a variavel em um inteiro. Isso pode resolver o problema de NaN(not a number)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software