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

Soma com o prompt

Estou fazendo testes com o prompt. A intenção é somar 4 valores informados pelo usuario e dividir o resultado por 4, mas não faz a soma, o máximo que ele faz é repetir os valores. Alguem sabe como fazer? Sem o prompt, atribuindo os valores direto ele faz a soma certinho. Alguém poderia me ajudar, porfavor?

2 respostas
solução!

Boa tarde Lidiana, o problema é que o prompt vai pegar tudo o que for informado como texto então 9 3 1 3 ele não interpreta numeros e sim como texto. Você pode fazer resolver isso de dus forma (se você ainda não estudou array você pode coletar os numeros 4 vezes) ou seja colocar 4 comantos pareceidos com esse:

var n1 = prompt("Informe o priemeiro numero");
var n2 = prompt("Informe o segundo numero");

e depois somar

Por outro lado tem uma macete que você pode usar:

// aqui você vai ter uma string com os numeros informados pelo usuário
var numerosInformadoComoString = prompt("Informe os numero separando por espaço");

// aqui você vai ter uma lista de string ou seja se o usuário informou 1 2 3 sua lista vai ser : ["1", "2", "3"] perceba que cada representação de numero ainda é um texto
var representacaoEmStringDeCadaNumero = numerosInformadoComoString.split(" ");

// existe um jeito de vc converter cada um desses itens da sua lista de string para inteiro ou decimal, além disso você pode aproveitar o mesmo recurso para já ir somando os numeros para você

// esse mecanismo se chama loop, existem outra formas de fazer ele
// uma coisa que não falei é que tem como saber o tamanho da sua lista automáticamente, então se você quiser colocar mais numeros lá no prompt não tem problema

var acumuladorDeValores = 0;

for (var indice=0; indice < representacaoEmStringDeCadaNumero.length; indice++) {
var numeroEmDecimal = parseFloat(representacaoEmStringDeCadaNumero[indice]);
acumuladorDeValores += numeroEmDecimal;
}

var media = acumuladorDeValores/representacaoEmStringDeCadaNumero.length;

No exemplo acima, tem alguns conceito que ainda não foram apresentados no curso, mas resolve seu problema, tentei escrever de uma forma que fique facil de você entender e depois (conforme for evoluindo no curso, você possa melhorar deixar o código mais bonito e simple ok ;-) se não entender alguma parte dá um ping novamente aqui no forum

Ola Tiago, agradeço muito sua resposta. Realmente o que explicou não havia visto ainda. Estou começando agora, tudo é muito novo Também encontrei a resposta para minha duvida na aula seguinte, o professor Flavio ensinou que podemos usar a função parseInt; ela converte texto"string" para número ;-). Ficaria assim: var XXXX = parsetInt(prompt("Informe o valor de algo")); Mais uma vez agradeço demais sua resposta!!!! Bons estudos e sucesso.