Ir para conteúdo
Fórum Script Brasil
  • 0

votação


Marionei

Pergunta

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

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...