Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Com else não roda

Tentei usar o else e o código não roda, roda perfeitamente com else if mas não com o o else. É normal do js? não é utilizado o else?

código a baixo com else if e em seguida com else:

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

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

    function calculaImc(altura, peso) {

        return  Math.round(peso / (altura * altura));

            }


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

    var imc = calculaImc(alturaInformada,pesoInformado);

   mostra ("O IMC de " + nome + imc);

   if (imc < 18.5){

           mostra(" Você está abaixo do recomendado");

   }
   else if (imc > 35 ){

          mostra("Você está a acima do recomendado")
   }

   else if (imc >= 18.5 || imc <= 35){

           mostra ("Você está saudável")
   }

</script>

Agora com else, esse não roda.

7 respostas

Oi Pedro tudo bem?

No Javascript para passar uma condição no else tem que usar necesseriamente o else if por isso não roda. O else sozinho é só o fluxo falso da condição principal do if.

Espero ter ajudado!!!

Então no javascript eu descarto o uso do else, mesmo que eu queria usar como falso a condição de if ?

solução

Você pode usar o else sem o if, mas não pode passar uma condição.

Exemplo:

if (condicao==true){
    console.log("Condição Verdadeira");
} else {
    console.log("Condição Falsa");
}

Grato

Disponha e bons estudos!!!!

Pessoal, a dúvida é anterior ao exercício, não consigo localizar o erro deste código.

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

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

    function calculaImc (altura, peso) {
        return peso / (altura * altura);
    }
    var nome = prompt("Olá, meu nome é boot, vou ajudar você a calcular seu IMC, me diga qual é o seu nome?");
    var alturaInformada = parseInt(prompt("certo " + nome + " agora preciso saber qual é a sua altura?"));
    var pesoInformado = parseInt(prompt("Ok! também preciso saber qual é o seu peso atual?"));
    var imc = calculaImc(alturaInformada , pesoInformado);

    texto (nome + " pelos meus cálculos o seu IMC é de " + imc);
</script>

Oi Vinicius tudo bem?

O ideal é abrir novos tópicos para novas dúvidas para ter mais visibilidade, só vi seu tópico porque vai e-mail automático para todo mundo que está participando dessa discussão. Se não tivesse visto ia ficar perdido a sua dúvida rsrsrs.

O erro é que a altura é capturada em metros, no meu caso eu digito 1.73 . Então é um número decimal, você está usando parseInt para transformar em inteiro use parseFloat para transformar em número com vírgula.

var alturaInformada = parseFloat(prompt("certo " + nome + " agora preciso saber qual é a sua altura?"));

Espero ter ajudado!!!