| 12
 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