Estava treinando o que avia aprendido, montando o programa de IMC de forma mais elaborada, e percebi que toda vez que coloco a função parseInt nas variáveis de peso e altura, recebia como resultado ao chamar a variável imc, apenas o peso, como se ela estive-se ignorando o calculo da function calculaImc, e só funcionava corretamente se remove-se o função parceInt das variáveis. Se parseInt transforma texto em numero, pq isso acontece? Na minha cabeça isso não tem logica...
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
function calculaImc(peso, altura) {
return Math.round(peso / (altura * altura));
}
var nome = prompt("Qual o seu nome?");
var pesoVariavel = parseInt(prompt(nome + ", qual o seu peso?"));
var alturaVariavel = parseInt(prompt(nome + ", qual a sua altura?"));
var imc = calculaImc(pesoVariavel, alturaVariavel);
mostra(nome + " o seu IMC é " + imc);
if(imc > 35) {
mostra("Ele esta a cima do recomendado");
mostra("para fazer um novo calculo de IMC, aperte F5");
}
if(imc < 18.5) {
mostra("Ele esta a baixo do recomendado");
mostra("para fazer um novo calculo de IMC, aperte F5");
}
if(imc >= 18.5 && imc <= 35) {
mostra("Parabéns, ele esta dentro do recomendado");
mostra("para fazer um novo calculo de IMC, aperte F5");
}
</script>``