Bonjour,

J'ai codé un programme simple qui génére un nombre compris entre 0 et 9. Suivant que le nombre est pair ou impaire, il va récupérer dans un tableau ALPHABET ou NUMERIQUE une valeur pour le copier dans ID pour le moment. Sauf que le programme en rentre pas tout le temps dans la boucle de test.

Voici le code

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
int main (void)
{
 
 
     char ALPHABET[]={'A','B','C','E','F','G','H','I','J','K'};
     char NUMERIQUE[]={'0','1','2','3','4','5','6','7','8','9'};
 
     int taille=sizeof(ALPHABET)/sizeof(char);
     printf("\ntaille : %d\n", taille);
 
     char *ID=malloc(taille*sizeof(char));
     char *PW=malloc(taille*sizeof(char));
 
     FILE *OUT=fopen("out.txt","w");
 
     int i=0;
     for ( i=0 ; i<10 ; i++ )
         {  
            int temp;
            int mtemp;
 
            sleep(2000);
            temp=rand()%10;
            mtemp=temp%2;
 
 
            printf("_______________________________________________\n");
            printf("\ntemp :%d | mtemp : %d \n", temp, mtemp);
 
            if ( temp==0%2 )
               {
               printf("\npaire et ID[%d]=ALPHABET[%d]=%c\n", i, temp, ALPHABET[temp]);
               ID[i]=ALPHABET[temp];
               }
 
            if ( temp==1%2 )
               {
               printf("\nimpaire et ID[%d]=NUMERIQUE[%d]=%c\n", i, temp, NUMERIQUE[temp]);
               ID[i]=NUMERIQUE[temp];
               }
 
         }
 
    printf("\n");
 
                   int j=0;
     for ( j=0 ; j<10 ; j++ )
         {
               printf("%c",ID[j]);
         }
 
   // printf("\n");
//         
//              int k=0;
//     for ( k=0 ; k<10 ; k++ )
//         {
//               printf("%c",PW[k]);
//         }
 
 
 
 
 
 
 
     getch();    
     fprintf(OUT,"\nID:%s\nPW:%s", ID, PW);
 
 
}

Voici un screenshot



Comme vous pouvez le constater, bien que la valeur mtemp (modulo temp) calculé à partir du modulo de temp soit correctement calculée, on voit bien que le programme ne rentre pas tout le temps dans la boucle de test. Je pensais que le programme allait trop vite ou je ne sais quoi alors j'ai mis une tempo mais cela ne change rien !

Merci d'avance.