Algorítmo para votação

4 respostas
M

Galera boa noite!
Estou com mtas dúvidas n sei como fazer esse algoritmo.. meu código está cheio de erros

Desenvolva um algoritmo para realizar uma pesquisa de intenção de voto para uma eleição qualquer, considerando dois candidatos que serão informados pelo usuário na inicialização do programa. Os votos devem ser computados através de códigos, sendo o código 1 para o primeiro candidato, 2 para o segundo candidato e 0 para Branco/Nulo. O programa deverá apresentar uma tela para o usuário com as informações de votação, conforme imagem abaixo:
:D

Obs: devem ser apresentados os nomes dos candidatos (digitados pelo usuário) no lugar do texto ?Nome do primeiro candidato? e ?Nome do segundo candidato?.
A cada voto, uma mensagem de confirmação deve ser apresentada ao usuário: ?Deseja confirmar seu voto? (S/N)?. Em caso de confirmação apresentar a mensagem ?Voto Confirmado. Fim?. Caso contrário, apresente a mensagem ?Repita seu voto.?.
O algoritmo deve repetir esta operação para vários eleitores, até que o presidente da seção eleitoral encerre a votação, digitando a senha 999 na tela de votação para computar os votos. Neste momento, o algoritmo deverá apresentar o nome do candidato, a quantidade de votos que ele recebeu, a quantidade de votos nulos/brancos e o vencedor da eleição.
Obs: o algoritmo deve validar a entrada do usuário, permitindo apenas a inclusão dos valores informados nas perguntas.

package praticafabio;
import javax.swing.*;
public class Lab07_A 
{
    public static void main (String [] Args)
    {
        int votoUm=0;
        int votoDois=0;
        int votoNulo=0;
        String candidatoUm;
        String candidatoDois;
        int Nulo;
        int voto;
        char pergunta = 'S';
        int contaV1;
        int contaV2;
        int contaN;
        
        
        
           
        candidatoUm = JOptionPane.showInputDialog("QUAL SERÁ O CANDIDATO UM?");
        candidatoDois = JOptionPane.showInputDialog("QUAL SERÁ O CANDIDATO DOIS?");
        
        do
        {
        voto = Integer.parseInt(JOptionPane.showInputDialog("ESCOLHA UMA OPÇÃO DE VOTO: \n [1] " + candidatoUm + "\n [2] " + candidatoDois + "\n [0] Nulo/Branco")); 
        
        
        
        
        if (voto < 0 || voto > 2)
        {
                    
            JOptionPane.showMessageDialog(null, "NÚMERO DE VOTO INCORRETO!!!");
            
            while ((voto < 0) || (voto > 2))
            {
            voto = Integer.parseInt(JOptionPane.showInputDialog("ESCOLHA UMA OPÇÃO DE VOTO: \n [1] " + candidatoUm + "\n [2] " + candidatoDois + "\n [0] Nulo/Branco")); 
            }
            
                  
        }
        
        if (voto != 999)
        {
        pergunta = JOptionPane.showInputDialog("VOCÊ DESEJA CONFIRMAR SEU VOTO?").charAt(0); 
        }
       
       if (pergunta == 'S' || pergunta == 's')
       {
           System.out.println("VOTO CONFIRMADO!!!");
           
           if (voto == 1)
           {
               votoUm = votoUm + voto;
           }
           if (voto == 2)
           {
               votoDois = votoDois + voto;
           }
           if (voto == 0)
           {
               votoNulo = votoNulo + voto;
           }
          
       }
       
       
       // parte do não
       if (pergunta == 'N' || pergunta == 'n')
       {
           JOptionPane.showMessageDialog(null, "REPITA SEU VOTO:");
           voto = Integer.parseInt(JOptionPane.showInputDialog("ESCOLHA UMA OPÇÃO DE VOTO: \n [1] " + candidatoUm + "\n [2] " + candidatoDois + "\n [0] Nulo/Branco")); 
           
           if (voto != 999)
           {
            if (voto < 0 || voto > 2)
        {
            JOptionPane.showMessageDialog(null, "NÚMERO DE VOTO INCORRETO!!!");
            
            while (voto < 0 || voto > 2)
            {
            voto = Integer.parseInt(JOptionPane.showInputDialog("ESCOLHA UMA OPÇÃO DE VOTO: \n [1] " + candidatoUm + "\n [2] " + candidatoDois + "\n [0] Nulo/Branco")); 
                
            }
        } 
           }
            pergunta = JOptionPane.showInputDialog("VOCÊ DESEJA CONFIRMAR SEU VOTO?").charAt(0); 
       
       if (pergunta == 'S' || pergunta == 's')
       {
           System.out.println("VOTO CONFIRMADO!!!");
           
           if (voto == 1)
           {
               votoUm = votoUm + voto;
           }
           if (voto == 2)
           {
               votoDois = votoDois + voto;
           }
           if (voto == 0)
           {
               votoNulo = votoNulo + voto;
           }
          
       }
            
        }
       
        
        // fecha if do não
       
       
           if (votoUm > votoDois)
           {
               System.out.println("O VENCEDOR DA ELEIÇÃO FOI: " + candidatoUm + " COM: " + votoUm + " VOTOS");
           }
           if (votoDois > votoUm)
           {
               System.out.println("O VENCEDOR DA ELEIÇÃO FOI: " + candidatoDois + " COM: " + votoDois + " VOTOS");
           }
           if (votoNulo > votoUm && votoNulo > votoDois)
           {
               System.out.println("NÃO HOUVE VENCEDOR, OS VOTOS NULOS FORAM MAIORES.");
           }
           
           
           System.out.println("A QUANTIDADE DE VOTOS NULOS/EM BRANCO FOI DE: " + votoNulo);
           System.exit(1);
           
        
        } while (voto != 999);
       
    }
    
    
}

Vaaaleeeeu gaaaaalera!!

4 Respostas

jks1903

Quais são os erros que estão ocorrendo?

P

Olá,
O algoritmo não parece complexo, parece é demasiado básico!
Uma pergunta: só vota uma pessoa de cada vez? Num ambiente mais realístico deviam poder votar varias pessoas em simultâneo…
Se sim, a utilização de threads era bem vinda…
Qual o erro é que estas a ter em específico?

Cumps,

ViniGodoy

Por favor, ao postar tópicos, não use todas as letras em maiúsculas, seja no título ou no corpo do tópico.

M

então, o programa pede pra confirmar o voto, o usuário escolhe a opção e pede para confirmar… se Sim , confirma, senão pede pra votar denovo…

o problema é q n to conseguindo trabalhar com erros…

grato!!!

Criado 16 de abril de 2012
Ultima resposta 17 de abr. de 2012
Respostas 4
Participantes 4