2
I created an urn with the C language. The code is apparently correct, but the vote count always results in zero. The code was developed in Linux code:Blocks, so in order for it to work in windows, the Sleep and system("clear") command lines must be changed or commented.
Possible votes are 1, 2, 3 and 4 for candidates, 111 for blank or null vote and 999 for poll/closure of ballot box.
follows below the code:
#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;
}
Just to confirm: you are working with C and not C++, correct? You have put the two tags and they are very different languages.
– Pablo Almeida
Yes, I’m working on C, I was wrong to put the tags.
– Luis Fernando Consulo Martins
The good thing is that, even as it is, it is already more reliable than our electronic voting machines here in Brazil. At least your code we have to give publicly.
– Bacco