1
resposta

O que estou errando?

Seguindo as aulas, decidi me testar fazendo um programinha simples que fizesse o calculo da media de gastos nos 5 primeiros meses do ano, conforme abaixo.

    function mediaGastos(janeiro, fevereiro, marco, abril, maio) {

      var mes  =  5 ;
       return (janeiro + fevereiro + marco + abril + maio) /mes ;

}

    var nome = prompt("Qual seu nome?);
    var d1 = prompt("insira o valor gasto em janeiro");
    var d2 = prompt("insira o valor gasto em fevereiro");
    var d3 = prompt("insira o valor gasto em março");
    var d4 = prompt("insira o valor gasto em abril");
    var d5 = prompt("insira o valor gasto em maio");
    var calculo = mediaGastos(d1, d2, d3, d4, d5);

    document.write(nome + ", voce gastou " + calculo);

o problema é que o resultado sempre é uma concatenação dos numeros com um . logo depois (; Victor, voce gastou 11111). O que eu estou errando?

1 resposta

Oi, Victor, tudo bem?

O problema de estar concatenando é que o prompt recebe uma string, você precisa converter o valor que o usuário coloca, por um inteiro, assim:

  var d1 = parseInt(prompt("insira o valor gasto em janeiro"));
    var d2 = parseInt(prompt("insira o valor gasto em fevereiro"));
    var d3 = parseInt(prompt("insira o valor gasto em março"));
    var d4 = parseInt(prompt("insira o valor gasto em abril"));
    var d5 = parseInt(prompt("insira o valor gasto em maio"));

Assim, o cálculo vai ficar correto.

Espero ter te ajudado!