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

funcao nao funciona

Boas,

Tentei dar uma melhorada no programa IMC para treinar um pouco mais o que aprendi, mas nem tudo se passou da melhor maneira.

Nao consigo fazer funcionar correctamente a funcao calculaImc, sempre que insiro os valores por exemplo peso- 78 altura 1.78 o resultado e sempre 78 em vez de 25

Obrigado a todos os que me ajudarem =)

<meta charset="UTF-8">

<script>

    function paragrafo() {

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

    function mostra(frase){

        document.write(frase);
        paragrafo();
    }


    function informacao(quantidade){

        var nomes = [];
        var contador = 1;


        while (contador <= quantidade){    

            var nome = prompt(" Qual é o nome da " + contador + "° pessoa ?");
            nomes.push(nome);            
            contador++;
        }

        for (var i = 0; i < nomes.length; i++){

                var peso = parseInt(prompt(nomes[i] + " indique o seu peso"));


                var altura = parseInt(prompt(nomes[i] + " indique a sua altura"));

                var imc = calculaImc(peso, altura);
                mostra(imc);

            }
    }

    function calculaImc(peso, altura){

        return peso/(altura*altura);

    }

var quantidadePessoas = parseInt(prompt("Quantas pessoas vao testar o IMC (Indice de Massa Corporal) ?"));
var pessoas = quantidadePessoas;
pessoas = informacao(pessoas);


</script>
2 respostas
solução!

Oi, Igor, troque o paserInt para parseFloat

# Altura 1.78
paserInt('1.78') // 1
parseFloat('1.78') // 1.78

O parseInt só retorna 1 na altura

Ola Luis,

Muito obrigado tinha-me esquecido por completo dessa diferenca entre numeros inteiros e numeros decimais.