Ir ao conteúdo
  • Cadastre-se
Diego TJS

Urna eletônica

Recommended Posts

Segue o anunciado no spoiler e depois o problema...

 

Spoiler

Deseja se implementar um sistema em uma urna eletrônica em uma cidade onde será realizada uma votação para: prefeito(3) e vereador (5). Ao iniciar o sistema o usuário deverá cadastrar os candidatos e uma vez cadastrados o sistema é aberto para votação o eleitor deve escolher sua opção para prefeito e logo em seguida faz a votação para vereador, sendo esse processo repetido indefinidamente até que a urna seja fechada para o fechamento da urna e necessário, que seja digitado um código secreto no momento da votação para prefeito, é assim que o sistema é fechado os resultados finais da votação são apresentados sendo exibidos nome do candidato vencedor é dos demais em ordem de número de votos isso para prefeito e vereadores com o percentual atingido por cada um, deve-se levar em consideração que há de haver de votos nulos e em branco. Apresentar também o total de eleitores que participaram na votação.

 

O problema que estou tendo é nos métodos de cadastrar os prefeitos e vereadores (são dois métodos diferente) no fim do método tem o código para a tela voltar ao menu depois dos cadastros exatamente essa linha está com erro de Cannot Find Symbol já tentei diversas resoluções inclusive a que o NetBeans sugeri mas não resolve.

Ainda falta outras coisas que pede no anunciado como o voto nulo, branco, código secreto, mostrar o percentual mas ainda irei inserir isto, e as mensagens estão bem feias irei usar JOptionPane mas no momento estou querendo resolver este problema em questão. Segue o código inteiro do programa, as linhas que constam os erros estão comentadas.

 

package urna;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Prefeito {

    private int VotosP;
    public String NomeP;
    public String PartidoP;
    public int NumeroP;

    public Prefeito() {
        VotosP = 0;
    }

    public void AddVotos_Prefeito() {
        VotosP = VotosP + 1;
    }

    public int RetVotos_Prefeito() {
        return VotosP;
    }
}

class Vereador {

    private int VotosV;
    public String NomeV;
    public String PartidoV;
    public int NumeroV;

    public Vereador() {
        VotosV = 0;
    }

    public void AddVotos_Vereador() {
        VotosV = VotosV + 1;
    }

    public int RetVotos_Vereador() {
        return VotosV;
    }
}

public class Urna {

    static void Resultado_Eleicao(int Prefeitos, int Vereadores, Prefeito[] nossosPrefeitos, Vereador[] nossosVereadores) throws IOException {
        int contadorP, contadorV;

        System.out.println("\n\n[***************** Resultado da Eleição *****************]\n");
        for (contadorP = 0; contadorP <= Prefeitos - 1; contadorP++) {
            String Nome = new String(nossosPrefeitos[contadorP].NomeP);
            String Partido = new String(nossosPrefeitos[contadorP].PartidoP);
            String Votos = new String(Integer.toString(nossosPrefeitos[contadorP].RetVotos_Prefeito()));
            System.out.println((contadorP + 1) + " - " + Nome + " - " + Partido + " - Total de Votos [" + Votos + "]");
        }

        for (contadorV = 0; contadorV <= Vereadores - 1; contadorV++) {
            String Nome = new String(nossosVereadores[contadorV].NomeV);
            String Partido = new String(nossosVereadores[contadorV].PartidoV);
            String Votos = new String(Integer.toString(nossosVereadores[contadorV].RetVotos_Vereador()));
            System.out.println((contadorV + 1) + " - " + Nome + " - " + Partido + " - Total de Votos [" + Votos + "]");
        }
    }

    static void Iniciar_Eleicao(int Prefeitos, int Vereadores, Prefeito[] nossosPrefeitos, Vereador[] nossosVereadores) throws IOException {
        BufferedReader pegaDados3 = new BufferedReader(new InputStreamReader(System.in));
        BufferedReader pegaDados5 = new BufferedReader(new InputStreamReader(System.in));
        int meuPrefeito, contadorP;
        int meuVereador, contadorV;

        do {
            meuPrefeito = -1;
            System.out.println("\n\n[****** Eleições Iniciadas - Escolha seu Candidato ******]\n");
            for (contadorP = 0; contadorP <= Prefeitos - 1; contadorP++) {
                String Nome = new String(nossosPrefeitos[contadorP].NomeP);
                String Partido = new String(nossosPrefeitos[contadorP].PartidoP);
                System.out.println((contadorP + 1) + " - " + Nome + " - " + Partido);
            }
            meuPrefeito = -1;

            for (contadorV = 0; contadorV <= Vereadores - 1; contadorV++) {
                String Nome = new String(nossosVereadores[contadorV].NomeV);
                String Partido = new String(nossosVereadores[contadorV].PartidoV);
                System.out.println((contadorV + 1) + " - " + Nome + " - " + Partido);
            }
            meuVereador = -1;

            System.out.print("\nDigite o numero do seu candidato ou [0] para finalizar a eleição: ");

            try {
                meuPrefeito = Integer.parseInt(pegaDados3.readLine());
                if ((meuPrefeito >= 1) && (meuPrefeito <= Prefeitos)) {
                    nossosPrefeitos[meuPrefeito - 1].AddVotos_Prefeito();
                }

            } catch (NumberFormatException ex) {
                System.out.println("\n\n[ATENÇÃO: " + ex.getMessage() + "]\n");
            }

            try {
                meuVereador = Integer.parseInt(pegaDados5.readLine());
                
                if ((meuVereador >= 1) && (meuVereador <= Vereadores)) {
                    nossosVereadores[meuVereador - 1].AddVotos_Vereador();
                }

            } catch (NumberFormatException ex) {
                System.out.println("\n\n[ATENÇÃO: " + ex.getMessage() + "]\n");
            }

        } while (meuPrefeito != 0 && meuVereador != 0);

        Resultado_Eleicao(Prefeitos, Vereadores, nossosPrefeitos, nossosVereadores);
    }

    static void Cadastro_Prefeitos() throws IOException {
        BufferedReader pegaDados2 = new BufferedReader(new InputStreamReader(System.in));
        int qtd_prefeitos, contadorP;

        do {
            qtd_prefeitos = 0;
            System.out.println("\n\n[***************** Cadastro de Candidatos ***************]\n");
            System.out.print("Quantidade de Prefeitos: ");
            try {
                qtd_prefeitos = Integer.parseInt(pegaDados2.readLine());
            } catch (NumberFormatException ex) {
                System.out.println("\n\n[ATENÇÃO: " + ex.getMessage() + "]\n");
            }
        } while (qtd_prefeitos == 0);
        Prefeito[] novoPrefeito = new Prefeito[qtd_prefeitos];
        for (contadorP = 0; contadorP <= qtd_prefeitos - 1; contadorP++) {
            novoPrefeito[contadorP] = new Prefeito();
            System.out.print("\nInforme o nome do " + (contadorP + 1) + "º prefeito: ");
            novoPrefeito[contadorP].NomeP = pegaDados2.readLine();
            System.out.print("Informe o partido do " + (contadorP + 1) + "º prefeito: ");
            novoPrefeito[contadorP].PartidoP = pegaDados2.readLine();
            System.out.print("Informe o número do " + (contadorP + 1) + "º prefeito: ");
            novoPrefeito[contadorP].NumeroP = (Integer.parseInt(pegaDados2.readLine()));
        }
        /*ERRO*/Meu_Menu(qtd_prefeitos, contadorP, novoPrefeito, nossosPrefeitos); //CANNOT FIND SYMBOL, symbol: variable nossosPrefeitos, location: class urna
    }

    static void Cadastro_Vereadores() throws IOException {
        BufferedReader pegaDados4 = new BufferedReader(new InputStreamReader(System.in));
        int qtd_vereadores, contadorV;

        do {
            qtd_vereadores = 0;
            System.out.println("\n\n[***************** Cadastro de Candidatos ***************]\n");
            System.out.print("Quantidade de Vereadores: ");
            try {
                qtd_vereadores = Integer.parseInt(pegaDados4.readLine());
            } catch (NumberFormatException ex) {
                System.out.println("\n\n[ATENÇÃO: " + ex.getMessage() + "]\n");
            }
        } while (qtd_vereadores == 0);
        Vereador[] novoVereador = new Vereador[qtd_vereadores];
        for (contadorV = 0; contadorV <= qtd_vereadores - 1; contadorV++) {
            novoVereador[contadorV] = new Vereador();
            System.out.print("\nInforme o nome do " + (contadorV + 1) + "º vereador: ");
            novoVereador[contadorV].NomeV = pegaDados4.readLine();
            System.out.print("Informe o partido do " + (contadorV + 1) + "º vereador: ");
            novoVereador[contadorV].PartidoV = pegaDados4.readLine();
            System.out.print("Informe o número do " + (contadorV + 1) + "º vereador: ");
            novoVereador[contadorV].NumeroV = (Integer.parseInt(pegaDados4.readLine()));
        }
        /*ERRO*/Meu_Menu(contadorV, qtd_vereadores, novoVereador, nossosVereadores); //CANNOT FIND SYMBOL, symbol: variable nossosVereadores, location: class urna
    }

    static void Meu_Menu(int Prefeitos, int Vereadores, Prefeito[] nossosPrefeitos, Vereador[] nossosVereadores) throws IOException {
        int menu;
        BufferedReader pegaDados = new BufferedReader(new InputStreamReader(System.in));

        do {
            menu = 0;
            System.out.println("\n[******************** Urna Eletronica *******************]\n");
            System.out.println("1 - [Cadastro de Prefeitos  ] - " + Prefeitos + " Cadastrado(s) no Sistema");
            System.out.println("2 - [Cadastro de Vereadores  ] - " + Vereadores + " Cadastrado(s) no Sistema");
            System.out.println("3 - [Iniciar as Votacoes    ] - " + (Prefeitos > 0 && Vereadores > 0 ? "Sistema Liberado" : "Sistema Bloqueado"));
            System.out.println("4 - [Sair da Urna Eletronica]\n");
            System.out.print("Digite uma dos opções acima: ");
            try {
                menu = Integer.parseInt(pegaDados.readLine());
            } catch (NumberFormatException ex) {
                System.out.println("\n\n[ATENÇÃO: " + ex.getMessage() + "]\n");
            }
        } while ((menu < 1) || (menu > 4));
        switch (menu) {
            case 1:
                Cadastro_Prefeitos();
                break;
            case 2:
                Cadastro_Vereadores();
                break;
            case 3:
                if (Prefeitos > 0 && Vereadores > 0) {
                    Iniciar_Eleicao(Prefeitos, Vereadores, nossosPrefeitos, nossosVereadores);
                } else {
                    System.out.println("\n\n[ATENÇÃO: NÃO EXISTE NENHUM CANDIDATO CADASTRADO]\n");
                    Meu_Menu(0, 0, null, null);
                }
                break;
            case 4:               
        }
    }

    public static void main(String args[]) throws IOException {
        Meu_Menu(0, 0, null, null);
    }
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×