1
resposta

O código deu certo, só quero um retorno se tem um jeito melhor de fazer

Pensei se o cálculo do IMC viesse a ter uma soma, como eu poderia inserir parseInt no código. Funcionou. Só queria saber se tem um jeito melhor ou assim mesmo é o melhor jeito:

<meta charset="UTF-8">

<script>
function pulaLinha() {

        document.write("<br>");
        document.write("<br>");

}

function mostra(frase) {

        document.write(frase);
        pulaLinha();
}
//return faz com que a função chame o resultado do cálculo

function calculaImc(altura,peso) {

    return peso / (altura * altura);
}

var nome = prompt("Informe o seu nome");
var alturaInformada = prompt(nome + parseInt(", informe sua altura"));
var pesoInformado = prompt(nome + parseInt(", informe seu peso"));

var imc = calculaImc(alturaInformada, pesoInformado);

mostra(nome + ", o seu IMC é " + Math.round(imc));

if(imc < 18.5) {

    mostra("Você está abaixo do recomendado.");

}

if(imc > 35) {

    mostra("Você está acima do recomendado.");
}

if(imc >= 18.5 && imc <= 35) {

    mostra("Seu IMC está excelente!");

    }

</script>

1 resposta

Bom dia Ita, tudo bem?

Uma sugestão de melhoria no seu código é utilizar o else. Os três IFs soltos serão todos testados sempre. Com o código abaixo se o IMC for menor do que 18.5 as outras duas condições nem serão testadas e seu código vai executar mais rápido:

if(imc < 18.5) {
    mostra("Você está abaixo do recomendado.");
}
else if(imc > 35) {
    mostra("Você está acima do recomendado.");
}
else {
    mostra("Seu IMC está excelente!");
}

Abraço