Ir ao conteúdo
  • Cadastre-se

Urna eletônica


Posts recomendados

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

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!