7
respostas

Compartilhando meu código IMC

Boa Tarde. Dei uma "incrementada" no meu código.

O que vocês acham? Alguma dica?

<meta charset="UTF-8">

<script>
// Essa função faz pular duas linhas
    function pulaLinha() {
            document.write("<br><br>")
}

//Essa função faz aparacer o texto na tela
    function mostra(frase) {
        document.write(frase)
        pulaLinha()
}

// Essa função calcula o IMC
    function calculaImc(altura, peso) {
        return imc = Math.round (peso/(altura*altura));

    }


var nome = prompt ("Por Favor, insira o seu nome!");
var alturaInformada = prompt (nome + ", por favor, insira a sua altura! ");
var pesoInformado = prompt (nome + " , por favor, insira o seu peso!");

mostra ("<big>"+ "<h1>" + "Oi, " + nome + "</big>" + "</h1>");
mostra ("<big>" + "<h2>" + "Tudo bem com você?" +"</big>" + "</h2>")
mostra ("<big>" + "Neste programa irei calcular o seu IMC e saber como está sua saúde." + "</big>")  

calculaImc (alturaInformada, pesoInformado) 
mostra ("<hr>" + "<big>" + nome + ", o seu IMC é de " + imc + "</hr>" + "</hr>");

// Aqui, a partir do IMC informado, criamos condições de mensagens que irão aparecer na tela.

if (imc <= 16 ) {
    alert ("Cuidado! o seu IMC indica desnutrição.")
    mostra (" Quem apresenta índice menor que 16 tem grandes chances de estar com desnutrição grave. Procure um médico." ) 
}
if (imc >= 16.1 && imc <= 18.4) {
    alert ("Cuidado! o seu IMC indica magreza. ")
    mostra ("Nessa faixa a pessoa ainda pode estar propensa a problemas de saúde ligados à desnutrição. ")
}

if(imc >= 18.5 && imc <= 25) {
    alert ("Parabéns! O seu IMC está dentro da normalidade.")
    mostra ("Parabéns. Continue assim!" )
}

if(imc >= 25.1 && imc <= 29.9) {
    alert ("O seu IMC está dentro da normalidade!")
    mostra ("O seu IMC está dentro da normalidade, porém é importante se atentar a sua saúde. Como anda a sua alimentação e sua prática de exercicios físicos?")
}

if (imc >= 30 && imc <= 39.9) {
    alert ("Cuidado! O seu IMC está alto.")
    mostra ("O seu IMC está acima da média e é considerado como Obesidade. Que tal você buscar uma ajuda médica para evitar ter problemas futuros?")
}

if (imc >= 40) {
    alert ("Cuidado! o seu IMC está MUITO alto.")

    mostra ("O seu IMC está muito alto e é considerado Obesidade Mórbida. Procure um médico com urgência.")
}


</script>
7 respostas

Luan, o seu IMC é de NaN

Eu fui testar seu código para ver do que se tratava por ser bem mais complexo e o resultado saiu assim. Está correto? Eu esperava ter uma resposta númerica.

Não esta correto. Vou verificar o que aconteceu. Se você tentar mudar a altura e o peso, sera que vai dar NaN também ?

Aconteceu a mesma coisa mudando os números. Será que não está associado à virgula que coloco na altura? 1,96.

Pode estar faltando adicionar parseInt() no prompt para converter texto em número. mas quando testei do meu computador ele conseguiu calcular. Mas coloquei minha altura com . ao inves de , pode ser isso também

Luan, o seu IMC é de 24

Parabéns. Continue assim!

Ana, eu coloquei ponto ao invés de virgula e funcionou corretamente desta vez! Será que isto é um padrão?

Eu coloquei a vírgula e deu NaN!! Acredito que isso seja um padrão sim

cara, seu código tá lindo.