Oi Gustavo, tudo bem? 😊
Entendi sua dúvida! No seu código, a variável imc
é calculada dentro da função calculaIMC
, mas ela não está disponível fora dessa função, no momento em que você faz a verificação if ((imc > 18.5) && (imc < 35))
. 🤔
Para corrigir isso, você pode retornar o valor de imc
da função calculaIMC
e armazená-lo em uma variável para usá-lo na condição if
. Veja como ficaria:
<script>
var mostra = function(frase) {
document.write(frase + '<br>');
};
var peso = prompt('Digite seu peso');
var altura = prompt('Digite sua altura');
var calculaIMC = function(altura, peso) {
var imc = peso / (altura * altura);
mostra('IMC calculado é ' + imc);
return imc; // Retorna o valor de imc
};
var imc = calculaIMC(altura, peso); // Armazena o valor retornado em uma variável
if ((imc > 18.5) && (imc < 35)) {
document.write('Você está com Imc equilibrado');
} else {
document.write('Você está com imc desequilibrado');
};
</script>
Dessa forma, o valor de imc
estará disponível para a verificação na condição if
, e o operador &&
funcionará corretamente, exibindo a mensagem "Você está com Imc equilibrado" apenas se as duas condições forem verdadeiras. 👍
🎓 Para saber mais:
Espero ter ajudado! 🧐