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

Condição && não funciona no Sublime.text3


<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

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

    function calculaImc(altura, peso) {

        return peso / (altura * altura);

    }

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


   var imc = calculaImc(alturaInformada, pesoInformado);

    mostra("O IMC calculado para o " + nome + " é " + imc);

    if (imc < 18.5) {
      mostra("Você está abaixo do recomendado.")
    }
    if(imc >= 18.5 <= 35){
      mostra("Você está OK")
    }
    if (imc > 35) {
      mostra("Você está obeso")
    }
</script>

Minha dúvida é: Na condição na qual o If deveria mostrar "Você está OK" não funciona se eu colocar as condicional && mas seu eu deixar igual ao código acima recebo as respostas normalmente. Então pergunto: Porque o && não funciona no meu Sublime e porquê na falta dele o if(imc >= 18.5 <= 35) funciona normalmente?

2 respostas
solução!

Olá Mario!

Nesse if você está colocando assim: if(imc >= 18.5 && <= 35) ou assim: if(imc >= 18.5 && imc <= 35)?

Caso seja o primeiro caso, após o && você precisa dizer qual variável que terá a outra condição que deve ser satisfeita para retornar true.

Ou seja, seria a mesma coisa que fazer assim: if((imc >= 18.5) && (<= 35)), então falta saber com o que está comparando o <=35.

Espero ter ajudado, mas se não for esse o caso, estamos a disposição.

Realmente você tem razão, incluindo o nome da variável na segunda declaração o problema foi resolvido. São pequenos detalhes que nos escapam. Estou curtindo este curso de Lógica de Programação pois é diferente dos outros tradicionais usando JavaScript como base. Ainda mais para quem vai entrar logo em JavaScript. Thank's Fabiano! Have a nice day! []'s