2
respostas

O seu IMC é: 21. Você está acima do recomendado seu imc está excelente.

Boa noite ! estou tentando rodar o programa, mas porque ele não está rodando apenas 1 resposta? ele aparece : O seu IMC é: 21. Você está acima do recomendado seu imc está excelente.

<meta charset = "utf-8">
<script>

function pulaLinha (){
 document.write("<br><h1></br>");

}

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

   }


        function calculaImc(peso,altura){

         return peso/ (altura * altura);
        }
 var nome= prompt("Informe seu nome");
 var alturaInformada=prompt("Informe sua altura");
 var pesoInformado = prompt("Informe seu peso");
 var imc = calculaImc(pesoInformado, alturaInformada);

document.write(nome +"  O seu IMC  é: "+ imc);

if(imc < 18.5){

    mostra("voce está abaixo do recomendado");
}

    if(imc>35);
    mostra("Você está acima do recomendado");

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

        mostra("seu imc está excelente.");
        }
    }

    </script>
2 respostas

Olá

Você só precisa organizar melhor a estrutura de if e ifelse e else

if(imc < 18.5) { // Ele entra nesse if quando o IMC é abaixo do valor 18.5
  mostra("voce está abaixo do recomendado");
} else if (imc >=18.5 && imc <= 35) { // Aqui estou entrando quando o valor é maior igual a 18.5 e menor igual a 35, o código abaixo é executado 
  mostra("seu imc está excelente.");
} else { // Caso não entre em nenhum if, ele vai executar o código abaixo
  mostra("Você está acima do recomendado");
}

Dessa maneira o seu código será executado sem maiores problemas.

Para melhorar ainda mais sua logica, recomendo essa carreira aqui https://www.alura.com.br/cursos-online-programacao/logica

Abraço :)

att.

Olá Luciana Quevedo. Bom seu código tem um pequeno erro, mas é muito comum acontecer isso, ao longo de seu percurso com bastante prática irá sem duvidas melhoras sua lógica de programação e utilizar estruturas mais simples.

No momento vamos ajustar seu código certo....

1º coisa a fazer e indetar melhor seu programa para que você veja ele com mais clareza. 2º É usar e abusar do seu navegador para ver os possíveis erros de sintaxe, o famoso **debugging**.

Vou mostrar seu código corrigido com alguns comentários e algumas alterações para que você analise e tire suas duvidas.

<meta charset = "utf-8">

<script>
//Todo código foi reidentado para melhor vizualização.
//Aqui havia uma única tag <h1> onde você não a fechou "<h1></h1>"
function pulaLinha () {
    document.write("<br>");

}

//Dentro da Função "mostra" chame a Função "pulaLinha".
function mostra(frase) {
    document.write(frase);
    pulaLinha();
}

//Aqui adicionei a biblioteca Matemática "Math.round" para arredondar o retorno.
function calculaImc(peso,altura) {

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

}
var nome= prompt("Informe seu nome");
var pesoInformado = prompt("Informe seu peso");
var alturaInformada=prompt("Informe sua altura");
var imc = calculaImc(pesoInformado, alturaInformada);

//Aqui você tem que chamar a função "mostra".
mostra(nome + "  o seu IMC  é: " + imc);

if(imc < 18.5) {

    mostra("voce está abaixo do recomendado");

}
//Aqui você esqueceu de colocar os "{}".
if(imc > 35) {

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

}

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

        mostra("seu imc está excelente.");

    }
}

</script>