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

O meu progrma calcula o imc, mas não o classifica

<meta charset="UTF-8">
<h1>Vamos calcular o seu IMC</h1> 
<script>

function pulaLinha()
    {
        document.write('<br>');
        document.write('<br>');
    }

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

function calculaImc(peso,altura,pessoa)
    {
        var imc = peso/ (altura*altura);

        mostra(pessoa+" o seu IMC calculado é "+imc);
        return imc;

    }

    var nomeInformado = prompt ("Informe o seu nome. ");
    var pesoInformado = parseInt(prompt (nomeInformado + ", informe o seu peso."));
    var alturaInformado = parseInt(prompt (nomeInformado + ", informe a sua altura."));


    var imc =calculaImc(pesoInformado,alturaInformado,nomeInformado);

    if(imc < 18.5)
    {
        mostra(nomeInformado+", o seu IMC está abaixo do recomendado");
    }

    if(18.5 >= imc && imc <= 35)
    {
        mostra(nomeInformado+", o seu IMC está excelente");        
    }

    if(imc > 35)
    {
        mostra(nomeInformado+", o seu IMC está acima do recomendado");
    }

</script>
3 respostas
solução!

Stella, no pesoInformado e na alturaInformado, você não vai usar o parseInt pois os valores não são inteiros

 var pesoInformado =prompt (nomeInformado + ", informe o seu peso.");
    var alturaInformado = prompt (nomeInformado + ", informe a sua altura.");

no seu segundo if vc fez a lógica errada o certo é:

 if(imc >= 18.5 && imc <= 35)

Outra coisa, em js nos usamos a primeira { logo após a condição.

    if(imc < 18.5)  {
        mostra(nomeInformado+", o seu IMC está abaixo do recomendado");
    }

    if(imc >= 18.5 && imc <= 35)  {
        mostra(nomeInformado+", o seu IMC está excelente");        
    }

    if(imc > 35)  {
        mostra(nomeInformado+", o seu IMC está acima do recomendado");
    }

Obrigada Vânia :)