2
respostas

Não consigo localizar o erro do código, está informando o IMC errado, alguém pode ajudar?

<meta charset="utf-8">
<script>
    function pulaLinha() {
        document.write ("<br><br>");
    }

    function texto(frase) {
        document.write (frase);
        pulaLinha();
    }

    function calculaImc (altura, peso) {
        return peso / (altura * altura);
    }
    var nome = prompt("Olá, meu nome é boot, vou ajudar você a calcular seu IMC, me diga qual é o seu nome?");
    var alturaInformada = parseInt(prompt("certo " + nome + " agora preciso saber qual é a sua altura?"));
    var pesoInformado = parseInt(prompt("Ok! também preciso saber qual é o seu peso atual?"));
    var imc = calculaImc(alturaInformada , pesoInformado);

    texto (nome + " pelos meus cálculos o seu IMC é de " + imc);
</script>
2 respostas

Cara, copiei e colei teu código aqui e rodou normal. Inclusive, não apareceu erro no código.

Oi Vinicius tudo bem?

O erro é que a altura é capturada em metros, no meu caso eu digito 1.73 . Então é um número decimal, você está usando parseInt para transformar em inteiro ( ou seja o número virou 1 e o IMC ficou igual ao peso) use parseFloat para transformar em número com vírgula.

var alturaInformada = parseFloat(prompt("certo " + nome + " agora preciso saber qual é a sua altura?"));

Espero ter ajudado!!!