1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
| #include <stdio.h>
#include <stdlib.h>
#include <conio.c>
#include <windows.h>
#define C 100
int test;
void Thread(void*);
void depouillement();
float oui,non,nul;
int main(void)
{
HANDLE hThread = 0;
hThread = (HANDLE)_beginthread(Thread, 0, NULL);
int i=0,j=0;
char choix;
int resultat;
oui=0;
non=0;
nul=0;
int tab[C]={0};//initialise tout le tableau
int num; // c'est un nombre beaucoup plus grand car tu n'as pas besoin des nombres négatifs
while(63!=test)
{
i++;
clrscr ();
printf ("Quel est le numero du votant ? \n\n");
scanf ("%d",&num);
clrscr();
resultat=0;
j=0;
//test si le num est présent sinon, on teste le N° suivant
while(j<=i && resultat==0)// condition pour rester dans la boucle
{
//attention il faut toujours comparer 2 var de même type
if (num==tab[j])
{
resultat=1;
}
else
{
j++;
}
}
//gestion du resultat
if (resultat==1)
{
printf("Vous avez deja vote\n\n");
i--; //attention si la personne a déjà voté, il ne faut pas considérer que c'est un nouveau votant
system("PAUSE");
}
else
{ tab[i]=num;
printf ("Quel est le choix du votant ? Ecrit o=oui ou n=non ou u=nul\n\n");
scanf("%*c%c",&choix);
clrscr();
printf ("Felicitations, Vous avez Vote !!\n");
Sleep(2000);
//il ne faut pas oublier le cas ou la personne selectionne une autre lettre : c'est donc un vote nul
switch (choix)
{
case 'o': oui++;break;
case 'O': oui++;break;
case 'n': non++;break;
case 'N': non++;break;
default: nul++;break;
}
}
}
oui=oui/i*100;
non=non/i*100;
nul=nul/i*100;
depouillement();
for (j=0;j<i;j++)
{
printf("%d\n",tab[j]);
}
system("PAUSE");
return 0;
}
// Depouillement//
void depouillement()
{
HANDLE hThread = 0;
hThread = (HANDLE)_beginthread(Thread, 0, NULL);
while(64!=test)
{
printf("Les Resultats sont OUI : %.1f %% NON : %.1f %% NUL : %.1f %% \n",oui,non,nul);
}
}
//Programme Thread//
void Thread(void* arg)
{
while(1)
{
test=getch();
}
_endthread();
} |
Partager