Ajuda (Urgente)....

vel2008

Membro
Boa noite,
fico imensamente grato a quem me poder ajudar a fazer este trabalho.
Este consiste em fazer um sistema de gestao de votacao electronica em linguagem C...

ja tenhu algum codigo mas n sei como fazer a parte d contar os votos e como votar nos candidatos existentes...
No final tem d aparecer quantos votos teve cada candidato e o numero d votantes...

Agradeco a quem me puder ajudar...

Tou msm aflito...

------AKI Ta algum codigo k ja FIZ------------
#include <stdio.h>
void main()
{
char n_casa[200],n_associado[200],n_pais[200],n_cidade[200],n_c1[200],n_c2[200],n_c3 [200],op1[200],opcao;
int num_socios,cont;
float hora_a,hora_f;

/*Dados preenchidos pelo presidente da mesa*/
printf("\t\t\t******Dados da mesa de voto******\t\t\t\n\n");

printf("\t\t\tInsira o nome da casa de associados:");
gets(n_casa);
printf("\t\t\tO nome da casa de associados e:%s\n\n", n_casa);
fflush(stdin);
printf("\t\t\tInsira o nome do associado:");
gets(n_associado);
printf("\t\t\tO nome do associado e:%s\n\n", n_associado);
fflush(stdin);
printf("\t\t\tInsira a Cidade:");
gets(n_cidade);
printf("\t\t\tO nome da Cidade e:%s\n\n", n_cidade);
fflush(stdin);

printf("\t\t\tInsira o numero total de socios votantes:");
scanf("%d", &num_socios);
printf("\t\t\tO numero total de socios e:%d\n\n", num_socios);
fflush(stdin);

printf("\t\t\tInsira o nome do primeiro candidato:\n");
gets(n_c1);
printf("\t\t\tO nome do primeiro candidato e:%s\n\n",n_c1);
fflush(stdin);
printf("\t\t\tInsira o nome do segundo candidato:\n");
gets(n_c2);
printf("\t\t\tO nome do segundo candidato e:%s\n\n",n_c2);
fflush(stdin);
printf("\t\t\tInsira o nome do terceiro candidato:\n");
gets(n_c3);
printf("\t\t\tO nome do Terceiro candidato e:%s\n\n",n_c3);
fflush(stdin);

/*Hora*/
printf("\t\t\tIntroduza a hora de abertura da mesa:[h:m]");
scanf("%f",&hora_a);
printf("\t\t\tA mesa abriu as:%.2f\n\n",hora_a);

/*Inicio votacao*/



do{
printf("\t\t\t******Menu Principal*******\t\t\t\n\n");
printf("\t\t\t1-Votar\t\t\n\n");
printf("\t\t\t2-Sair \n");
scanf("%d",&opcao);
fflush(stdin);
switch(opcao)
{
case 1:

printf("\nInsira o candidato escolhido:");
gets(op1);
{
if(op1==n_c1)

if(op1==n_c2)

if(op1==n_c3){
cont++;
}


}


}

// break;
// case 2:

//break;



while(opcao!=2);

}
 
O problema e k ate aki consegui fazer. Agora n sei fazer como perguntar em que candidato quer votar e no final aparacer por exemp:
cand1:2votos,cand2:9votos,cand3:56votos,votos em branco:2 e tambem a que horas a mesa de voto fechou.....


Agradecia se me pudessem ajudar!!!
cumprimentos.
 
Eu tive que fazer um trabalho de final de módulo , apenas apresentando uma calculadora , acho k não posso ajudar te muito . Mas no que puder e só dizeres .

Cumpz
 
Boas

Confesso que não olhei para o teu código com olhos de ver e que nunca programei em C puro mas aqui vai:

Primeiro terás de criar tantas variáveis como o número de candidatos existentes. Essas variáveis, do tipo inteiro, guardarão o número de votos.

Depois é pedires o voto: em c++ seria com um "cin". Dependendo do voto, incrementas a variável correspondente ao candidato votado.

Os votos podem estar inseridos num ciclo que apenas termina a uma determinada hora.

Pseudo código:
Código:
int candidato1 = 0, candidato 2 = 0, votantes = 0;

Enquanto hora actual != hora de fecho da mesa
{
    // Aqui fazes o print da listagem de candidatos disponíveis em que associas uma opção (número) a cada candidato

    int voto = Pede_voto();

    switch( voto )
    {
         case 1:
             candidato1++;
             votantes++;
         break;

         case 2:
             candidato2++;
             votantes++;
         break;
         // Etc para os restantes candidatos
    }
}

// Print do total de votantes, e de votos em cada candidato

O recurso à variável votantes pode ser dispensado pois o número total de votantes pode também ser obtido pela soma de todos os votos nos candidatos.

Só mais uma coisa: há pessoal que gosta de votar em branco ;)

Espero que assim já consigas "produzir" o resto do código!
 
Back
Topo