1
resposta

quero que não apareça NaN quando a pessoa digita 0 no programa de IMC

   <script>
        var nome = prompt("what is your name?"); //nome
        var altura = prompt("type your height");// altura
        var massa = prompt("type your dough"); //massa


        function pulalinha(){ 
            document.write("<br>");
        }

        function mostra(frase){
            document.write(frase);
            pulalinha();
        }

        function calculaIMC(massa, altura){

            var IMC = (massa / (altura * altura));
            return IMC;
        }

        mostra("<strong>Seu índice de massa corporal é </strong>" + calculaIMC(massa, altura) + ".");

        if (calculaIMC(massa, altura) <18.5) {

            mostra("<h1>Você está abaixo do peso</h1>")
        }

        if (calculaIMC(massa,altura) >= 18.5 && calculaIMC(massa,altura) <= 35){

            mostra("<h1>SEU IMC ESTÁ NA MÉDIA<h1>");
        } else {
            mostra("você está forta de forma!");

        }
        if (calculaIMC(massa,altura) >= 35) {
            mostra("você está obeso(a)")
        }
        if (calculaIMC(massa,altura) == NaN {
            mostra("você não existe");
        }
    </script>

queria saber como faço pra se a pessoa digitar 0 nas perguntas ou cancelar não apareça "NaN" , envez disso exibir um alert e ent retornar as perguntas para ela responder certo.

1 resposta

Bom dia Yuri, espero que esteja tudo bem

Na aula seguinte você vai ter uma dica para fazer o que deseja: laços de repetição!

Você pode criar um laço e fazer testes, para que o programa apenas avance caso as condições que você definiu sejam realizadas. Por exemplo:

var nome = prompt("what is your name?");  // nome
var altura = prompt("type your height"); // altura
var massa = prompt("type your weight"); // massa

while ( altura <=  0 ) {
    var altura = prompt("type a valid height!"); // Coloque uma altura válida!
}