Ir ao conteúdo
  • Cadastre-se

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


Ir à solução Resolvido por felipecchaves,

Posts recomendados

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}.`);

 

Link para o comentário
Compartilhar em outros sites

  • Solução
1 hora atrás, navegador2 disse:
var candidato = Number(readlineSync.question("Digite o numero do candidato"));

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.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, 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.

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

Link para o comentário
Compartilhar em outros sites

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

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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!