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

Não sei o motivo, mas meu programa não entrou no IF.

 <script>
        function pulaLinha() {
            document.write("<br>");
        }
        function mostra (frase) {
            document.write(frase);
            pulaLinha();
        }

        function calculaImc(peso, altura) {
            if(altura > 3) {
                altura /= 100
            }
            var imc = (peso / (altura * altura));
            return imc
        }
        let nome = prompt("Informe seu nome.")
        let pesoEntrada = parseInt(prompt(nome + ", qual é o seu peso?"));
        let alturaEntrada = parseInt(prompt(nome + ", qual é a sua altura?"));

        let darlan = calculaImc(pesoEntrada, alturaEntrada)
        mostra(nome + ", o seu IMC é " + darlan.toFixed(1))

        if(imc < 19) {
            mostra("Seu IMC está baixo, CUIDADO");
        }
        if(imc > 35) {
            mostra("Seu IMC está muito alto, CUIDADO");
        }
        if(imc >= 19 && imc <= 35) {
            mostra("Seu IMC está bom, PARABÉNS.");
        }
    </script>
1 resposta
solução!

Ele não está entrando porque ele não sabe o que é imc. Ao invés de verificar se o imc é < 19, você tem que fazer: darlan < 19, pois a variável darlan foi quem recebeu a função de calculaImc, e essa que tem o retorno de imc. Além disso, sua variável alturaEntrada, você está tratando ela com parseInt, e portanto, ele vai ignorar as casas depois da vírgula. O correto seria utilizar parseFloat. Espero ter ajudado. Valeu.