Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não retorna o calculo do IMC

Removido a pedido do usuario.
1 resposta
solução!

Olá Gabriel,

Está retornando sempre o valor do peso porque você está transformando o valor da altura em inteiro ao chamar a função parseInt para a altura do usuário ( var alturaUsuario = parseInt(prompt("Digite sua altura: ")); ). E ao chamar a função parseInt para uma altura, por exemplo 1.70, o valor retornado será 1. Logo peso / (1*1) = peso

Troque a função parseInt na linha de atribuição de valor à variável alturaUsuario por parseFloat.

Obs*: Quando for informar a altura utilize ponto (.) e não virgula (,)

Com a alteração seu código ficará da seguinte forma:

<meta charset="UTF-8">

<script>
    function mostra(frase){
        document.write(frase + "<br>")
    }

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

    var pesoUsuario = parseInt(prompt("Digite seu peso: "));
    var alturaUsuario = parseFloat(prompt("Digite sua altura: "));
    var imcCalculado = calculaImc(pesoUsuario, alturaUsuario);


    alert("Seu IMC é: " + imcCalculado);    
</script>