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

encontre meu erro neste código.

<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 + ", O seu imc é ", + imc);

if(imc <= 18.5) {
    mostra("Você está abaixo do recomendado");

}

if(imc > 35) {

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

if(">=18.5") {

    if(imc <=35) {

mostra("Seu imc está exelente!");    
    }    
}

</script>

Já refiz este código várias vezes mas não obtive resultado nem descobri onde está o erro, me ajude. ```

9 respostas

Bom dia Francisco , tudo bom?

Coloca seu código aqui! Para que eu possa analisar

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 + ", O seu imc é ", + imc);

Esse bloco de instruções não deveria estar dentro da função calculaImc() ?

Como aonde eu devo mexer então? qual instrução devo movê-la ?

Vamos por partes Francisco.

Quando quiser comparar entre determinados valores por exemplo Entre: 18.5 a 35.

Você faz.

if ( imc >= 18.5 && imc  <= 35){
    document.write ("Peso Ideal");

}

O && representa o E entre 18.5 e 35 se estiver entre esses dois valores é True caso contrario False.

A forma que você colocou você atribuiu como String

if(">=18.5") {

if(imc <=35) {

var imc = calculaImc("alturaInformada, pesoInformado");

Encima você colocou Aspas " " está informando que é texto também.

var imc = calculaImc(alturaInformada, pesoInformado);

O certo para pegar os valores é sem aspas

Compara seu código com essa parte de baixo , você vai nota a diferença, dessa forma seu código vai roda.


                        var imc = calculaImc(alturaInformada, pesoInformado);



                if(imc <= 18.5) {
                        mostra("Você está abaixo do recomendado" + imc);

                }

                if(imc > 35) {

                        mostra("Você está acima do recomendado" + imc );
                }

                if(imc >= 18.5 && imc <= 35) {
                        mostra("Seu imc está exelente!" + imc);    
                }    


</script>

Está parte você colocou uma virgula fora das Aspas

mostra(nome + ", O seu imc é ", + imc);

Muito obrigado por ter me ajudado, fico contente e feliz pois consegui, agora deu tudo certo.

Valeu, obrigado.

solução!

Magina, qualquer dúvida não deixe de postar por aqui, no fórum, para que possamos ajudá-lo.

Abraço e bons estudos,

Rafael.