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

Duvida sobre o &&

Eu testei meu codigo usando " , " ao invés de usar o " && " e deu certo. Isso foi alguma mudança que teve no javascript? É errado o uso da virgula? Ex:

<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(nome + ", informe sua altura");
    var pesoInformado = prompt(nome + ", informe seu peso");

    var imc = calculaImc(alturaInformada, pesoInformado);

   mostra(nome + ", seu IMC é " + imc.toFixed(1));

   if(imc < 18.5) {
       mostra("Você está magro")
   }

   if(imc > 25) {
       mostra("Você está com sobrepeso")
   }

   if (imc >=18.5, imc <=25) {
       mostra("Você está normal")
    }


</script>
2 respostas
solução!

Olá Cleiton, como vai?

Na verdade o código não funciona como deveria. Ele roda normalmente, mas não teremos o resultado certo.

Faça o teste onde o imc esteja abaixo de 18.5. Você irá perceber que não está correto.

Não temos como não utilizar os operadores lógicos para esse caso.

Espero ter ajudado. Qualquer dúvida estarei por aqui.

Abraços!

No meu caso não funcionou com virgula nem o &. eu pus direto assim:

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

var nome = prompt("Insira seu nome");
var peso = prompt("Insira seu peso");
var altura = prompt(" Insira sua altura")

mostra("Olá " + nome + " seu imc é " + imc(peso,altura) );

if (imc(peso,altura)<18){
    mostra("Seu Imc esta abaixo do recomendado")
}

if (imc(peso,altura)>35){
    mostra("Seu imc está acima do recomendado");
}

if (imc(peso,altura)>18 <35){
    mostra("seu imc esta normal");
}