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

Meu código não está funcionando, poderiam me ajudar? Não entendo porque ele não está aceitando as condições.

<script>

    function pulaLinha() {

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

    function exibTexto(texto) {

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

    function calculaImc(peso, altura) {

        return peso / (altura * altura);

    }

    var nome = prompt("Informe seu nome");
    var alturaInformada = prompt("Informe seu altura em metros. (Ultilize . e não ,)");
    var pesoInformado = prompt("Informe seu peso em kg.");
    var imc = calculaImc(pesoInformado, alturaInformada);

    exibTexto(nome + ", seu IMC (Índice de Massa Corporal) é " + imc + ".");
    pulaLinha();

    if(imc < 17) {

        exibTexto("De acordo com seu IMC, você está muito abaixo do peso ideal. Procure um nutricionista, ele lhe orientará melhor e não procure receitas na internet. Vale lembrar, existem excelentes formas de emagrecer ou engordar de forma saudável, caso este seja seu objetivo.");
    }

    if(imc >= 17 && imc <= 18,49) {

        exibTexto("De acordo com seu IMC, você está abaixo do peso ideal. Procure um nutricionista.");
    }

    if(imc >= 18,5 && imc <= 24,99) {

        exibTexto("Seu IMC está excelente para mantê-lo assim pratique atividades físicas, alimente-se de forma sudável e beba água regurlamente, caso já adota estes hábitos, continue!");
    }

    if(imc >= 25 && imc <= 29,99) {

        exibTexto("De acordo com seu IMC, você está acima do peso ideal. Procure um nutricionista, ele lhe orientará da forma correta. Não procure receitas na internet, isso pode ser muito perigoso.");
    }

    if(imc >= 30 && imc <= 34,99) {

        exibTexto("De acordo com seu IMC, você está com obesidade I. Procure um nutricionista, ele saberá como lhe orientar da forma correta. Não procure receitas na internet, isso pode ser muito perigoso.");
    }

    if(imc >= 35 && imc <= 39,99) {

        exibTexto("De acordo com seu IMC, você está com obesidade II (severa). Procure um nutricionista, ele saberá como lhe orientar da forma correta. Não procure receitas na internet, isso pode ser muito perigoso.");
    }

    if(imc >= 40) {

        exibTexto("De acordo com seu IMC, você está com obesidade III (mórbida). Procure um nutricionista, ele saberá como lhe orientar da forma correta. Não procure receitas na internet, isso pode ser muito perigoso.");
    }

</script>
1 resposta
solução!

Olá,

Bom seus ifs estão funcionando, você pode reparar se fizer alguns testes que não são todos que são exibidos.

Basicamente o problema está na definição das casas decimais, você deve utilizar ponto ao invés de virgulas.

Altere de:

if(imc >= 17 && imc <= 18,49) {

Para:

if(imc >= 17 && imc <= 18.49) {