4
respostas

Meu codigo não funciona (iniciante) (html)

Meu codigo não esta funcionando, sou iniciante e tentei fazer um jeito aprimorado de calcular se o seu IMC está bom ou não para sua idade, logo no começo do codigo, se a idade for 10, não da o resultado certo

4 respostas
<meta charset="UTF-8">
<script>
    function dash() {
        document.write("<br>");
        document.write("<br>");

    }

    function text(sampleText) {
        document.write(sampleText);
        dash();
    }
    function calculaImc(peso, altura) {

       var imc = peso / (altura * altura);
       return imc

   }

    var nome = prompt("Digite seu nome");
    var idade = parseInt(prompt("Quantos anos você tem " + nome + "?"));
    var alturaInformada = prompt( nome + ", informe sua altura para calcular o seu Imc ");
    var pesoInformado = prompt("Perfeito, agora seu peso " );

    var imc = calculaImc(pesoInformado, alturaInformada);
    text("<big>" + nome + ", seu imc atualmente é " + imc + "</big>");


    var ano10 = "14,42 a 19,50"
    var ano11 = "14,83 a 20,34"
    var ano12 = "14,98 a 22,16"
    var ano13 = "15,36 a 23,07"
    var ano14 = "15,67 a 23,87"
    var ano15 = "16,01 a 24,28"
    var ano16 = "16,37 a 24,73"
    var ano17 = "16,59 a 25,22"
    var ano18 = "16,71 a 25,55"
    var ano19 = "16,87 a 25,84"

   if (idade == 10) {
        if (imc <= 14,41) {
            text("Voce está abaixo do peso, o imc recomendado para" + idade +  "anos é de " + ano10)}
        if (imc >= 14,42 <= 19,5) {
            text("Voce está dento do peso, lembre-se, o imc recomendado para sua idade é de 14,42 até 19,5")}
        if (imc >= 19,6) {
            text("Voce esta acima do peso, o imc recomendado para " + idade + "anos é de " + ano10)}


   }
</script>

Marcos,

Fiz alguns ajustes no If.

  if (idade == 10) {
        if (imc <= 14.41) {
            text("Voce está abaixo do peso, o imc recomendado para" + idade +  "anos é de " + ano10)}
        if (imc >= 14.42 && imc <= 19.5) {
            text("Voce está dento do peso, lembre-se, o imc recomendado para sua idade é de 14,42 até 19,5")}
        if (imc >= 19.6) {
            text("Voce esta acima do peso, o imc recomendado para " + idade + "anos é de " + ano10)}

   }

No caso eu achei uma outra maneira, esse seu codigo, seria mais ''apropriado"?

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

    }

    function text(sampleText) {
        document.write(sampleText);
        dash();
    }
    function calculaImc(peso, altura) {

       var imc = peso / (altura * altura);
       return imc

   }

    var nome = prompt("Digite seu nome");
    var idade = (prompt("Quantos anos você tem " + nome + "?"));
    var alturaInformada = prompt( nome + ", informe sua altura para calcular o seu Imc ");
    var pesoInformado = prompt("Perfeito, agora seu peso " );

    var imc = calculaImc(pesoInformado, alturaInformada);
    text("<big>" + nome + ", seu imc atualmente é " + imc + "</big>");


    var ano10 = "14,42 a 19,50"
    var ano11 = "14,83 a 20,34"
    var ano12 = "14,98 a 22,16"
    var ano13 = "15,36 a 23,07"
    var ano14 = "15,67 a 23,87"
    var ano15 = "16,01 a 24,28"
    var ano16 = "16,37 a 24,73"
    var ano17 = "16,59 a 25,22"
    var ano18 = "16,71 a 25,55"
    var ano19 = "16,87 a 25,84"



    var anoA = ano10
    var idadeA = 10
    var valorInicial = 14.41
    var valorInicial2 = valorInicial + 0.01
    var valorFinal = 19.50
    var valorFinal2 = valorFinal + 0.01
    if(idade == idadeA && imc <= valorInicial) { 
        text("Voce está abaixo do peso, o imc recomendado para " + idade +  " anos é entre " + anoA)
} 
    if(idade == idadeA && imc >= valorInicial2 && imc <= valorFinal) { 
        text("Voce está dento do peso, lembre-se, o imc recomendado para sua idade é entre " + anoA)
    }
    if(idade == idadeA && imc >= valorFinal2) { 
        text("Voce esta acima do peso, o imc recomendado para " + idade + " anos é entre " + anoA)

Marcos,

Acho que assim fica mais limpo e objetivo.

Conforme você for avançando nos cursos vai aprender novas estruturas de dados, que vai facilitar em muito as soluções. Mas é muito boa sua iniciativa em tentar formas diferentes de resolver um problema.

   var anoA = ano10
    var idadeA = 10
    var valorInicial = 14.41
    var valorFinal = 19.50

    if(idade == idadeA && imc <= valorInicial) { 
        text("Voce está abaixo do peso, o imc recomendado para " + idade +  " anos é entre " + anoA)
} 
    if(idade == idadeA && imc > valorInicial && imc <= valorFinal) { 
        text("Voce está dento do peso, lembre-se, o imc recomendado para sua idade é entre " + anoA)
    }
    if(idade == idadeA && imc > valorFinal) { 
        text("Voce esta acima do peso, o imc recomendado para " + idade + " anos é entre " + anoA)