Ir ao conteúdo

Javascript Java Script - Escript simples para votação.


Ir à solução Resolvido por felipecchaves,

Posts recomendados

Postado

Colegas estou tentando criar um script em Javascript para simular uma votação com 3 candidatos. Mas encontei alguns problemas.
1) O script só permitiu votar uma vez, e joga todos os votos no mesmo candidato. 
Eu queria por exemplo votar várias vezes para comparar todos os candidatos.
2) Votando várias vezes, totalizar os votos de todos os candidatos e vótos inválidos.
3) Qual é a melhor forma, ou tem formas mais práticas e fáceis, do que a que eu usei?
Gostaria que aparecesse:
Candidato 1, x votos
Candidato 2 y, votos
Votos nulos, x
Resumindo: O script deu parcialmente certo, só que vota 1 vez e todos os votos no mesmo candidato.

var readlineSync = require("readline-sync");
var candidato = Number(readlineSync.question("Digite o numero do candidato"));
var Jose = 0;
var Maria = 0;
var Joao = 0;
var Invalido = 0;
var contador = 1

while ( contador !=99) {

    if(candidato == 1){
        console.log("Jose")
        Jose = Jose + 1
    }
    else if(candidato == 2){ 
        console.log("Maria")
        Maria = Maria + 1
    }
    else if(candidato == 3){ 
        console.log("Joao")
        Joao = Joao + 1
    }
    else {
        console.log("Candidato invalido")
        Invalido = Invalido + 1
    }
contador = contador + 1

} // Fim While

console.log(`O canddato Jose teve votos: ${Jose}.`);
console.log(`O canddato Maria teve votos: ${Maria}.`);
console.log(`O canddato Joao teve votos: ${Joao}.`);
console.log(`Votos invalidos: ${Invalido}.`);

 

  • Solução
Postado
  Em 05/10/2022 às 13:54, navegador2 disse:
var candidato = Number(readlineSync.question("Digite o numero do candidato"));
Expandir  

O que tá acontecendo é que essa linha tá fora do while, então você vai pegar o número do candidato apenas uma vez. Quando entrar no while o valor da sua variável "candidato" vai ser sempre o mesmo, por isso todos os votos vão para o mesmo candidato.

 

Se você colocar essa linha dentro do while, antes do if, ele vai te perguntar o número do candidato em cada repetição do while.

Postado
  Em 05/10/2022 às 15:15, felipecchaves disse:

O que tá acontecendo é que essa linha tá fora do while, então você vai pegar o número do candidato apenas uma vez. Quando entrar no while o valor da sua variável "candidato" vai ser sempre o mesmo, por isso todos os votos vão para o mesmo candidato.

 

Se você colocar essa linha dentro do while, antes do if, ele vai te perguntar o número do candidato em cada repetição do while.

Expandir  

Valeu fera, muito obrigado! Deu  certo! Está funcionando ok. Eu só reduzi a quantidade de loop para !=10 para terminar mais rápido.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...