Meu código não está obedecendo a operação matemática das variável pontos
Se você entra com 3 vitórias e um empate, em vez de ele mostrar 10 pontos ele mostra 91, não sei por que.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Meu código não está obedecendo a operação matemática das variável pontos
Se você entra com 3 vitórias e um empate, em vez de ele mostrar 10 pontos ele mostra 91, não sei por que.
Oi, Thiago
Mostre seu código
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
var vitorias = prompt("Entre com o número de vitórias");
var empates = prompt("Entre com o número de empates");
var pontos = (vitorias * 3) + empates;
mostra("os pontos do seu time é " + pontos);
if(pontos > 28) {
mostra("Seu time está melhor do que no ano passado.");
}
if(pontos < 28) {
mostra("Seu time está pior do que no ano passado.");
}
if(pontos == 28) {
mostra("Seu time está igual igual ao ano passado.");
}
mostra("FIM")
</script>
Oi, Thiago
Em JavaScript, o sinal de adição "+" também é usado para concatenar (juntar) strings (texto).
Então:
// como o JS entende
let vitorias = "3"; // texto
let empate = "1"; // texto
let pontosVitoria = vitorias * 3;
// devido a multiplicação o JS tenta converter para número.
// pontosVitoria = "3" * 3 = 9
let pontos = pontosVitoria + empate; // devido o empate ser um texto, o "+" é usado para juntar número com texto
// pontos = 9 + "1" = "91"
A solução é converte "empate" para número
// usando "parseInt()" para converter texto(string) para número(int)
const vitorias = prompt("Entre com o número de vitórias"); // retorna texto
const empates = prompt("Entre com o número de empates"); // retorna texto
let pontos = (vitorias * 3) + parseInt(empates); // retorna um número
Nota: Prefira usar "let" e/ou "const" no lugar do "var". Entenda a diferença entre var, let e const no JavaScript
Tenta acrescentar essa variáveis!
var valorDoImpate = 1;
var ValorDaVitoria = 3;
var vitorias = prompt("Entre com o número de vitórias");
var empates = prompt("Entre com o número de empates");
var pontosVitoria = (vitorias * ValorDaVitoria);
var pontosImpate = (empates * valorDoImpate);
var pontos = (pontosVitoria + pontosImpate);
mostra("os pontos do seu time é " + pontos);
Ao invés de colocar so prompt na variável de vitórias e de derrotas, troque por parseInt(prompt(" "), então ficaria:
var vitorias = parseInt(prompt("Entre com o número de vitórias"));
var empates = parseInt(prompt("Entre com o número de empates"));
O parse Int serve pra converter texto em número