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

calculo do imc incorreto

Olá, por favor gostaria de ajuda com este código. Aparentemente está tudo correto, mas quando chamo a variável "imc" o código me devolve o valor do peso, e não o cálculo do imc.

<meta charset = "UTF-8">;

<script>

function pulaLinha(){
    document.write("<br>")
    }
function mostra(texto){
    document.write(texto)
    pulaLinha()
    }
    function calculaImc(altura, peso){
        return (peso / (altura * altura))
    }

    var nome = prompt("Digite seu nome");
    var alturaInformada = parseInt(prompt(nome + ", informe sua altura"));
    var pesoInformado = parseInt(prompt(nome + ", informe seu peso"));
    var imc = calculaImc(alturaInformada, pesoInformado); //a função imc está apenas retornando o valor do peso, ao invés de entregar o cálculo

        mostra(nome + ", o seu Imc é " + imc);
</script>
2 respostas
solução!

Olá Paulo, tudo bem?

O problema está na linha abaixo:

    var alturaInformada = parseInt(prompt(nome + ", informe sua altura"));

Você está usando parseInt(), então ele está transformando a sua entrada em 1. Então, se você entrar com 1.75 por exemplo ele está indo para a função como 1. E o peso dividido por 1 dá ele mesmo.

O correto aqui é usar parseFloat() já que você quer um número decimal.

Abraços e bons estudos!

Testei aqui e deu certo, obrigado pela ajuda!