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

If não aparece

<meta charset="UTF-8">

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

    function oTexto(aqui) {
        document.write(aqui);
        pula1();
    }

    function imcCal(peso, altura) {
        var imC = peso/ (altura * altura);
        return imC;
    }

    var qPeso = prompt ("Qual seu peso");
    var qAltura = prompt ("Qual sua altura");

    oTexto("O seu imc é " + imcCal(qPeso, qAltura));

    if(imC < 18.5) {
        oTexto("Seu imc esta abaixo do recomendado.");
    }

    if(imC > 35) {
        oTexto("Seu imc está acima do recomendado.");
    }

    if(imC >= 18.5 && imC <= 35) {

    oTexto("Seu IMC está excelente!");

    }
</script>

Ele não mostra nenhum erro, mas a condição if não esta aparecendo.

5 respostas

Faltou você atribuir o resultado a uma variável.

    var imC = imcCal(qPeso, qAltura)
    oTexto("O seu imc é " + imC);

Eu teria que indicar a var de novo? Ou eu tenho que reformular o codigo?

Mas a variavel esta dentro da function imcCal. ai, na pagina a string do cogido

oTexto("O seu imc é " + imcCal(qPeso, qAltura));

ele aparece no navegador como -o seu imc é "numerosaqui"-; mas os que são do if não estao aparecendo. Eu teria que indicar a var de novo? Ou eu tenho que reformular o codigo?

solução!

Só substituir essa linha:

oTexto("O seu imc é " + imcCal(qPeso, qAltura));

por aquelas duas que eu mencionei que o código vai passar pelos if's certinho.

Ou então assim também funcionará:

<meta charset="UTF-8">

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

    function oTexto(aqui) {
        document.write(aqui);
        pula1();
    }

    var imC;

    function imcCal(peso, altura) {
        imC = peso/ (altura * altura);
        return imC;
    }

    var qPeso = prompt ("Qual seu peso");
    var qAltura = prompt ("Qual sua altura");

    oTexto("O seu imc é " + imcCal(qPeso, qAltura));

    if(imC < 18.5) {
        oTexto("Seu imc esta abaixo do recomendado.");
    }

    if(imC > 35) {
        oTexto("Seu imc está acima do recomendado.");
    }

    if(imC >= 18.5 && imC <= 35) {
        oTexto("Seu IMC está excelente!");
    }
</script>

Olá Bianca sou iniciante e ao final de cada aula eu olho o forum para aprender com as dúvidas dos outros alunos. Eu sei que já deram uma solução mas achei que não não sanou a dúvida e também fiquei com esta dúvida depois que olhei seu código, e como quero aprender a estudar código fui verificar e descobri que não funcionou por causa desta linha: var imC = peso/ (altura * altura);

Na documentação fala que quando declara uma variável utilizando "var" ela passar a ser uma variável local, ou seja so funciona dentro da "function", mas é possível ter variáveis globais, neste caso se você retirar o parâmetro "var", ela passar a ser uma variável global e seu código vai funcionar.