Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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>