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

Trás todos os IF's, como resolver?

Eu já revisei dezenas de vezes e não acho o problema. Aproveitando a questão do IMC eu implementei o IF mas o código trás as duas alternativas.

<meta charset="UTF-8">

<h4> Calculo IMC </h4> 

<script>

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

 function mostra (msg) 
    {     
    document.write(msg); 
    pulaLinha( );
    }    

function CalculaImc (altura, peso) 
{
   imc = peso / (altura*altura);
   return imc  
 }

  var nome = prompt ("Informe o seu nome: ")
  var minhaAltura = prompt ( nome + ", Informe altura: ") ;
  var meuPeso = prompt (nome + ", Informe Peso:");
  var meuImc = CalculaImc (minhaAltura, meuPeso);

  mostra("Seu IMC é: " + meuImc)
  pulaLinha()

  if(meuImc < 24,9) // Se menor, meu peso está bom
  {    mostra("Seu peso está Bom");
  }
  pulaLinha();

 if(meuImc > 29,9) // Se maior, estou com muito peso
  {  mostra("Muito peso!");
  }


</script>
4 respostas

Calculo IMC

Poderia incluir o seu código pra podermos analisar?

solução!

Oi Regielberson, tudo bem?

O problema está nesses números, a casa decimal é separada pelo ponto e não pela vírgula, portanto o programa nem chega a fazer a checagem do if e acaba imprimindo as duas alternativas.

  if(meuImc < 24,9) // Se menor, meu peso está bom
  {    mostra("Seu peso está Bom");
  }
  pulaLinha();

 if(meuImc > 29,9) // Se maior, estou com muito peso
  {  mostra("Muito peso!");
  }

Acredito que trocando as vírgulas pelos pontos já resolva o problema!

  if(meuImc < 24.9) // Se menor, meu peso está bom
  {    mostra("Seu peso está Bom");
  }
  pulaLinha();

 if(meuImc > 29.9) // Se maior, estou com muito peso
  {  mostra("Muito peso!");
  }

Espero ter ajudado, qualquer dúvida é só avisar!

Bons estudos!!

Thiago, era isso mesmo. Muito obrigado. O time da alura é nota 10 em ajudar. Abraços!