I created an urn with the C language. The code is apparently correct, but the vote count always hits zero. The code was developed in the code: blocks in Linux, so in order for it to work on windows, the lines of the sleep and system ("clear") commands should be changed or commented out.
Possible votes are 1, 2, 3 and 4 for candidates, 111 for white or null votes, and 999 for counting / closing of the ballot box.
Here is the code below:
#include <stdio.h>
#include <stdlib.h>
int votar()
{
int candidato, confirmador, nulo, c1, c2, c3, c4;
nulo = 0;
c1 = 0;
c2 = 0;
c3 = 0;
c4 = 0;
system("clear");
printf("Para Voto NULO ou BRANCO, digite 111 no candidato.\n\nDigite o numero do candidato:");
scanf("%d",&candidato);
switch(candidato)
{
case 111:
system("clear");
printf("Seu voto é: NULO OU BRANCO \nConfirma o voto? \n\n1-CONFIRMA\n2-CANCELAR\n\n");
scanf("%d",&confirmador);
if(confirmador==1)
{
// nulo++;
nulo = nulo +1;
system("clear");
printf("Voto confirmado, obrigado por votar!\n\n\n");
sleep (5);
}
if(confirmador==2)
{
votar();
}
if((confirmador!=1)&&(confirmador!=2))
{
system("clear");
printf("Opcao invalida, digite 1 para CONFIRMAR ou 2 para CANCELAR.");
}
votar();
break;
case 999:
//apuracao(c1, c2, c3, c4);
printf("*****************************************\n");
printf("ELEICOES 2016 - PESQUISA - PREFEITOS\n");
printf("*****************************************\n");
printf("\nJOAO: %d VOTOS\n",c1);
printf("\nJOAQUIM %d VOTOS\n",c2);
printf("\nJOANA: %d VOTOS\n",c3);
printf("\nJULIA: %d VOTOS\n",c4);
printf("\nBRANCOS OU NULOS: %d VOTOS\n",nulo);
sleep (60);
break;
case 1:
system("clear");
printf("Seu candidato é: JOAO \nConfirma o voto? \n\n1-CONFIRMA\n2-CANCELAR\n\n");
scanf("%d",&confirmador);
if(confirmador==1)
{
// c1++;
c1 = c1 +1;
system("clear");
printf("Voto confirmado, obrigado por votar!\n\n\n");
sleep (5);
}
if(confirmador==2)
{
votar();
}
if((confirmador!=1)&&(confirmador!=2))
{
system("clear");
printf("Opcao invalida, digite 1 para CONFIRMAR ou 2 para CANCELAR.");
}
votar();
break;
case 2:
system("clear");
printf("Seu candidato é: JOAQUIM \nConfirma o voto? \n\n1-CONFIRMA\n2-CANCELAR\n\n");
scanf("%d",&confirmador);
if(confirmador==1)
{
// c2++;
c2 = c2 +1;
system("clear");
printf("Voto confirmado, obrigado por votar!\n\n\n");
sleep (5);
}
if(confirmador==2)
{
votar();
}
if((confirmador!=1)&&(confirmador!=2))
{
system("clear");
printf("Opcao invalida, digite 1 para CONFIRMAR ou 2 para CANCELAR.");
}
case 3:
system("clear");
printf("Seu candidato é: JOANA \nConfirma o voto? \n\n1-CONFIRMA\n2-CANCELAR\n\n");
scanf("%d",&confirmador);
if(confirmador==1)
{
// c3++;
c3 = c3 +1;
system("clear");
printf("Voto confirmado, obrigado por votar!\n\n\n");
sleep (5);
}
if(confirmador==2)
{
votar();
}
if((confirmador!=1)&&(confirmador!=2))
{
system("clear");
printf("Opcao invalida, digite 1 para CONFIRMAR ou 2 para CANCELAR.");
}
case 4:
system("clear");
printf("Seu candidato é: JULIA \nConfirma o voto? \n\n1-CONFIRMA\n2-CANCELAR\n\n");
scanf("%d",&confirmador);
if(confirmador==1)
{
// c4++;
c4 = c4 +1;
system("clear");
printf("Voto confirmado, obrigado por votar!\n\n\n");
sleep (5);
}
if(confirmador==2)
{
votar();
}
if((confirmador!=1)&&(confirmador!=2))
{
system("clear");
printf("Opcao invalida, digite 1 para CONFIRMAR ou 2 para CANCELAR.");
}
default:
system("clear");
printf("Candidato invalido, digite o numero do partido. \n\n");
sleep(5);
}
votar();
}
int apuracao(int c1, int c2, int c3, int c4, int nulo)
{
printf("*****************************************\n");
printf("ELEICOES 2016 - PESQUISA - PREFEITOS\n");
printf("*****************************************\n");
printf("\nJOAO: %d VOTOS\n",c1);
printf("\nJOAQUIM %d VOTOS\n",c2);
printf("\nJOANA: %d VOTOS\n",c3);
printf("\nJULIA: %d VOTOS\n",c4);
printf("\nBRANCOS OU NULOS: %d VOTOS\n",nulo);
return 0;
}
int main()
{
printf("*****************************************\n");
printf("ELEICOES 2016 - PESQUISA - PREFEITOS\n");
printf("*****************************************\n");
printf("\n\nBem-vindo(a) a pesquisa eleitoral 2016.\nEste programa e experimental e de codigo livre.\nPara encerrar a sessao, basta digitar 999 no campo candidato.\nPara iniciar aperte qualquer tecla.\n\n");
getchar();
votar();
return 0;
}