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

Informação do IMC ao usuário

Olá!

Quando calcula o IMC queria que aparece-se a informação de qual indicie ele se encaixa, então fiz o código abaixo, está certo?...

P.S: Funciona, só gostaria de saber se está certa minha colocação.

<meta charset="utf-8">

<script>

    function pulaLinha (){

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

    function mostra(mostraFrase){

        document.write(mostraFrase);
        pulaLinha();
    }

    function calculaImc(peso, altura) {

         return peso / (altura * altura);


    }

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

    var imc = calculaImc (pesoInformado, alturaInformadfa);

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

    if (imc <= 18.9) {
        mostra("Cuidado, você está com o peso baixo.")
    } 

    else if (imc <= 24.9){
        mostra("Parabéns, você com peso ideal.")
    }

    else if (imc <=29.9){
        mostra("Cuidado, você está com pré obesidade.") 
    }

    else if (imc <= 34.9){
        mostra("Cuidado, você está com obesidade I.") 
    }

    else if (imc <= 39.9){
        mostra("Cuidado, você está com obesidade II.") 
    }

    else if (imc > 40){
        mostra("Cuidado, você está com obesidade III.") 
    }


</script>
1 resposta
solução!

Thais, na minha visão isso funciona, mas tenho uma sugestão de melhoria:

seria legal colocar as faixas de imc certinha, e nao apenas menor (<) que por ex:

if (imc <= 18.9) {
        mostra("Cuidado, você está com o peso baixo.")
    } 

    else if (imc > 18.9 && imc <= 24.9){
        mostra("Parabéns, você com peso ideal.")
    }

    else if (imc >  24.9 && imc <=29.9){
        mostra("Cuidado, você está com pré obesidade.") 
    }

No seu caso funciona porque os ifs estão na ordem, mas caso estejam fora de ordem, ele não funcionaria... Mas caso coloque as faixas de imc (maior que e menor que), vc nao correria este problema, mesmo com os ifs fora de ordem