programa em C
Ai galera to fazendo um programa em C de eleicoes so com candidatos a prefeito...
naum consigo ver o erro, mas tem ora q o programa funciona e tem ora q naum...
naum sei o q pode estar acontecendo
ai esta o codigo
#include<stdio.h>
#include<stdlib.h>
#define strCand "Candidatos.txt"
#define TAM 10000
#define MAX 100
struct eleitores
{
char nome[MAX];
char sexo[10];
long int numeroTitulo;
};
struct eleitores Eleitor[];
struct candidatos
{
char nomeCompleto[MAX];
int numero;
char sexo[10];
int votos;
};
struct candidatos Candidato[];
int vetorVotos[],qtdcand,qtdeleitores,qtdvotos;
void listaEleitores()//Lista os eleitores
{
int cont;
for(cont = 0;cont < qtdeleitores;cont++)
{
printf("Dados do %do. eleitor: \n",cont+1);
printf("\n\tNome: %s\n",Eleitor[cont].nome);
printf("\tSexo: %s\n",Eleitor[cont].sexo);
printf("\tTitulo: %ld\n",Eleitor[cont].numeroTitulo);
}
getchar();
getchar();
}void cadastraCandidato()//Cadastra os candidatos
{
int cont;
printf("Qtd. de Candidatos: ");
scanf("%d",&qtdcand);
for(cont = 0;cont < qtdcand;cont++)
{
printf("\tNome do do candidato : ");
scanf("%s",Candidato[cont].nomeCompleto);
printf("\tSexo: ");
scanf("%s",Candidato[cont].sexo);
printf("\tNumero: ");
scanf("%d",&Candidato[cont].numero);
}
getchar();
getchar();
}
void listaCandidatos()//Lista os candidatos
{
int cont;
for(cont = 0;cont < qtdcand;cont++)
{
printf("\n\tNome: %s\n",Candidato[cont].nomeCompleto);
printf("\tSexo: %s\n",Candidato[cont].sexo);
printf("\tNumero: %d\n",Candidato[cont].numero);
}
getchar();
getchar();
}
void realizaVotacao()//Guarda os votos
{
int cont,opcao;
cont = 0;
qtdvotos = 0;
do{
printf("\tNome: ");
scanf("%s", Eleitor[cont].nome);
printf("\tSexo: ");
scanf("%s", Eleitor[cont].sexo);
printf("\tTitulo: ");
scanf("%ld",&Eleitor[cont].numeroTitulo);
if(Eleitor[cont].numeroTitulo == 0)
break;
qtdeleitores++;
CORRIGE:
printf("\nEntre com o numero do candidato: ");
scanf("%d",&vetorVotos[cont]);
printf("\t1 - CONFIRMA\n\t2 - CORRIGE\n\t3 - SAIR\n");
scanf("%d",&opcao);
if(opcao == 1){
printf("Voto confirmado\n");
cont++;qtdvotos++;}
else if(opcao == 2)
goto CORRIGE;
}while(opcao != 3);
getchar();
getchar();
}
void contaVotos()//Conta os votos comparando com o vetor de votos
{
int i,j;
for(i = 0;i < qtdvotos;i++)
{
for(j = 0;j < qtdvotos;j++)
{
if(vetorVotos[j] == Candidato[i].numero)
{
Candidato[i].votos++;
}
}
}
}void resultadoVotacao()//Mostra resultado da eleicao
{
int t,maior,votos;
contaVotos();
maior = 0;
votos = 0;
for(t = 0;t < qtdcand;t++)
{
printf("Numero: %d\n",Candidato[t].numero);
printf("Prefeito: %s\n",Candidato[t].nomeCompleto);
printf("Sexo: %s\n",Candidato[t].sexo);
printf("Votos: %d\n\n", Candidato[t].votos);
if(Candidato[t].votos > maior)
{
maior = Candidato[t].numero;
votos = Candidato[t].votos;
}
}
printf("Vencedor -> %d\nVotos - > %d\n",maior,votos);
getchar();
getchar();
}void abrirReadme()//Abrir o readme
{
FILE *arquivo;
char letra;
arquivo = fopen("readme.txt", "r");
if (arquivo == NULL) {
printf("Erro ao tentar abrir o arquivo.\n");
}
while (!feof(arquivo)) {
fscanf(arquivo, "%c", &letra);
printf("%c", letra);
}
fclose(arquivo);
getchar();
getchar();
}
void trataOpcao()//Mostra menu e verifica a escolha chamando cada funcao correspondente
{
int opcao;
do{
printf("\t\t ----URNA 2008----\n\
=======================================\n\
| 1 - Cadastrar candidatos\t\t|\n\
| 2 - Iniciar votacao\t\t\t|\n\
| 3 - Listar eleitores\t\t|\n\
| 4 - Listar candidatos\t\t|\n\
| 5 - Fechar votacao\t\t\t|\n\
| 6 - Abrir README\t\t\t|\n\
| 0 - Sair\t\t\t\t|\n\
=======================================\n");
printf("\nEntre com a opcao: ");
scanf("%d",&opcao);
switch(opcao){
case 0:exit(0);break;
case 1:cadastraCandidato();break;
case 2:realizaVotacao();break;
case 3:listaEleitores();break;
case 4:listaCandidatos();break;
case 5:resultadoVotacao();break;
case 6:abrirReadme();break;
default:printf("\aOpcao invalida! Tente outra vez...\n");
}
}while(opcao != 0);
}
int main()
{
trataOpcao();
return 0;
}por favor naum consigo ver o erro...
ou os erros...
socorroooooooo !!!!
Discussão (4)
Carregando comentários...