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

Programinha para soma IMCs não importando a quantidade de IMCs passados

<meta charset="UTF-8">


<script>

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

function pulaLinha()
{
    document.write("<br><br>")
}
var soma=0;
var total=0;
function somaImc(peso,altura)
{


    soma=soma+peso/(altura*altura);            
     return soma;

}


total=somaImc(85,1.68);
total=somaImc(85,1.68);
total=somaImc(85,1.68);
document.write("IMC Somados "+ Math.round(total));



</script>
3 respostas
solução!

Nesse caso você já tem a variável que foi definida fora da função chamada soma que tem a mesma finalidade do total. Consegue ver que você escreveu só um pouquinho a mais desnecessário?

Sua função somaIMC esta alimentado a variável soma ao mesmo tempo retornado-a. Quando uma variável é declarada fora de uma função, ela é acessível pela função e seu valor se mantém.

Duas duas uma, ou você quer fazer isso aqui:

<meta charset="UTF-8">


<script>

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

function pulaLinha()
{
    document.write("<br><br>")
}
var soma=0;
function somaImc(peso,altura)
{
    soma=soma+peso/(altura*altura);            
}


somaImc(85,1.68);
somaImc(85,1.68);
somaImc(85,1.68);
document.write("IMC Somados "+ Math.round(soma));

Ou você esta querendo fazer isso aqui:

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

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

function calculaImc(peso,altura)
{

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

soma = 0;
soma = soma + calculaIMC(85,1.68);
soma = soma + calculaIMC(85,1.68);
soma = soma + calculaIMC(85,1.68);
document.write("IMC Somados "+ Math.round(soma));

Consegui jogar uma lebre no seu código? :)

Essas duas maneiras não seria uma boa solução?

Entendi rs!

Pelo fato de a soma ser uma variável Global não era necessário eu retornar soma.E quando tenho a variavcel imc localmente eu tenho que retornar se não dá nenhum resultado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software