Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

dúvida no código do IMC

Olá,

Meu código do IMC deu certo até o cáculo do valor (19.979) mas o if não funcionou, não aparece a frase se est´bom ou ruim. Não consigo enxergar o erro.

5 respostas

Olá, Andréa! Tudo bem?

Ficamos muito felizes de saber que está progredindo no curso.

Você poderia colocar como está o seu código aqui para que eu consiga te ajudar melhor?

Aproveito para deixar uma dica. A melhor forma de colocar seu código aqui no fórum é clicando no botão </> na barra superior da sua mensagem. Uma outra opção é colocar entre três crases repetidas no início e no fim do seu código. Por exemplo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Aguardamos o retorno para que possa lhe ajudar.

Abraços!

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

}

    function mostra(frase) {

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

  function calculaImc(altura, peso) {

    return  peso / (altura * altura);


}

var nome = prompt("Informe seu nome")
var alturaInformada = prompt("Informe sua altura");
var pesoInformado = prompt("Informe seu peso");

var imc = calculaImc(alturaInformada, pesoInformado)

document.write(nome + " , o seu imc calculado é " + imc);



</script>
solução!

Olá, Andréa!

Excelente código. Gostamos muito de saber que está progredindo no curso.

Sobre as condições para mostrar as mensagens que deseja, você pode fazer da seguinte forma:

if(imc < 18.5) {
    pulaLinha()
    mostra("Você está abaixo do recomendado");

}

if(imc > 35) {
    pulaLinha()
    mostra("Você está acima do recomendado");
}

if(imc >= 18.5) {

if(imc <= 35) {
    pulaLinha()
    mostra("Seu IMC está excelente!");

}

}

Essa parte do código pode ficar depois da linha:

document.write(nome + " , o seu imc calculado é " + imc);

Dessa forma, dependendo do valor calculado do IMC você consegue mostrar a mensagem para o usuário.

Aproveito para deixar uma dica. Quando for mostrar para o usuário o valor do IMC talvez seja interessante limitar o número de casas decimais. Podemos fazer de duas formas:

document.write(nome + " , o seu imc calculado é " + imc.toFixed(2));

ou

document.write(nome + " , o seu imc calculado é " + Math.round(imc));

Espero que tenha conseguido ajudar. Caso ainda não tenha ficado claro estamos aqui. Bons estudos :)

Abraços!

Obrigada!

Bom dia! Eu estava fazendo meu codigo e quis melhorar ele colocando a função de converter a informação em numero, usando a função parseInt ( ), no momento de receber o prompt.

Mas ele não funcionou, e não entendi porque não funcionaria. Poderiam explicar a logica de não funcionar.