Fazer um programa de votação que abra arquivo de numero de candidatos, partidos, votos nulos, total de eleitos, eu comecei a a fazer mas estou com dificuldade alguém poderia me ajudar? O codigo é:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int lerCand(int *can, int *par, int *votos){
FILE * arq;
int x;
arq = fopen ("candidatos.txt","r");
x=0;
while ( !feof(arq)){
fscanf( arq,"%d %d", &can[x] ,&par[x]);
votos[x]=0;
x++;
}
fclose(arq);
return x;
}
int lerVotos(int *can, int *votos, int t){
FILE * arq, *nulo;
int x, vg=0;
int codC;
arq = fopen ("Votos.txt","r");
nulo = fopen ("nulos.txt","w");
while ( !feof(arq)){
fscanf( arq,"%d",&codC);
x=0;
while (codC!=can[x] && x<t)
x++;
if(x<t) {
votos[x]++;
vg++;
} else
fprintf(nulo,"%d \n",codC);
}
fclose(arq);
fclose(nulo);
return vg;
}
int ordena(int *vet1, int *vet2, int *vet3, int t){
int x,y,aux;
for(y=0; y<t-1; y++){
for(x=0; x<t-y-1; x++){
if(vet1[x]>vet1[x+1]){
aux=vet1[x];
vet1[x]=vet1[x+1];
vet1[x+1]=aux;
aux=vet2[x];
vet2[x]=vet2[x+1];
vet2[x+1]=aux;
aux=vet3[x];
vet3[x]=vet3[x+1];
vet3[x+1]=aux;
}
}
}
}
int votospar(int *votos,int *par,int *vpar,int *vvpar,int tc){
int x;
int p=0;
p=0;
vpar[p]=par[0];
vvpar[p]=votos[0];
for(x=1;x<tc;x++){
if(vpar[p]==par[x])
vvpar[p]=vvpar[p]+votos[x];
else {
p++;
vpar[p]=par[x];
vvpar[p]=votos[x];
}
}
p++;
return p;
}
int votval(int *nulos, int *votos, int tval){
int arqnulos;
int conta, qnulos, conta2, validos, x, achou, i, vot, candid=0,cv[0],nulo;
FILE *arq;
arq = fopen("arqnulos.txt", "r");
conta2=0;
validos=0;
for(x=0; x<validos;x++)
{
achou=0;
for(i=0;i<conta;i++)
{
if(vot!=0)
candid++; //conta=numero de candidatos
{ //qnulos= quantidade de nulos
validos=validos+1; // conta2= total de votos
achou=1; // validos = votos validos
cv[i]=cv[i]+1;
}
}
}
if(achou==0)
fprintf(arq,"%d\n",vot);
conta2=conta2+1;
qnulos = (conta2-validos);
validos = conta2-qnulos;
printf("quantidade de votos nulos: %d\n",qnulos);
printf("quant. de votos validos:%d\n",validos);
printf("quant. votos totais: %d\n",conta2);
}
int main () {
int can[100], par[100], votos[100], vpar[10], vvpar[10];
int tc,tvotos, v, t, tl, tp, nulo, tval,votosval;
tc=lerCand(can,par,votos);
tvotos=lerVotos(can,votos,tc);
ordena(par,can,votos,tc);
tp=votospar(votos,par,vpar,vvpar,tc);
votval(nulo, votos, tval);
for(v=0; v<tc; v++)
printf(" \n\n %d %d %d %d",tc,can[v],par[v],votos[v]);
printf("\n---------------------------\n");
for(v=0; v<tp; v++)
printf(" \n\n Quantidade de partidos %d; Codigo do partido %d; Quantidade de votos %d,",tp,vpar[v],vvpar[v]);
}
system("pause");
}
Pergunta
Marionei
Fazer um programa de votação que abra arquivo de numero de candidatos, partidos, votos nulos, total de eleitos, eu comecei a a fazer mas estou com dificuldade alguém poderia me ajudar? O codigo é:
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.