1
resposta

Código não chama a função

Boa noite pessoal! Tentei melhorar o programa para calcular o IMC para o usuário digitar o número de pessoas e informar o peso e altura de cada um.

Quando eu chamo a função para calcular IMC, ela deve chamar mais duas funções, a somaPeso e a somaAltura. Nâo sei pq não está chamando a função somaAltura. Podem me ajudar?

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br><br>");
    }

    function mostra(tela) {

        document.write(tela);
        pulaLinha();
    }

    function calculaImc(peso, altura) {

        return peso / (altura * altura);

    }


    function somaAltura (quantidade) {

        var alturas = [];
        var contador = 1;
        var somatorioAlturas = 0;

        while (contador <= quantidade) {

            var altura = parseInt(prompt("Informe a altura da pessoa " + contador + " da sua família"));
            alturas.push(altura);
            contador++;

            }    


        for (var posicao = 0; posicao < alturas.length; posicao++) {

            somatorioAlturas = somatorioAlturas + alturas[posicao];
        }

    return somatorioAlturas/numero;
    }

    function somaPeso (quantidade) {

        var pesos = [];
        var contador = 1;
        var somatorioPesos = 0;

        while (contador <= quantidade) {

            var peso = parseInt(prompt("Informe o peso da pessoa " + contador + " da sua família"));
            pesos.push(peso);

            contador++
        }

        for (var posicao = 0; posicaoUm < pesos.length; posicao++){

            somatorioPesos = somatorioPesos + pesos[posicao];
        }

        return somatorioPesos/numero;
    }


    var numero = parseInt(prompt("Informe quantas pessoas tem na sua família."));

    var imcCalculado = calculaImc(somaPeso(numero), somaAltura(numero));

    mostra("O IMC do da sua família é " + imcCalculado);

    if (imcCalculado < 18.5){

        mostra("O IMC da sua família está abaixo do recomendado.");

    }

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

        mostra("O IMC da sua família é considerado normal.");

    }

    if (imcCalculado > 35) {

        mostra("O IMC da sua família está acima do recomendado.");
    }


</script>
1 resposta

Oi Lucas, tem um erro de digitação posicaoUm

for (var posicao = 0; posicaoUm < pesos.length; posicao++){

O certo é posicao

for (var posicao = 0; posicao < pesos.length; posicao++){