Bonjour. J'ai créé un programme de style (trouvez le nombre) et je souhaite que vous le testiez dans le but de savoir s'il est si robuste qu'il en à l'air :
myHeader.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 #include <stdio.h> #include <stdlib.h> #include "myHeader.h" int main(void) { int hasard, argent; char code[2], saisie[2], choix[2]; srand(time(NULL)); hasard = rand() % (50+1); fprintf(stdout, "Samy Hocine - Programme\n"); fprintf(stdout, "1 - Jouer\n"); fprintf(stdout, "2 - Quitter\n\n"); fprintf(stdout, "Votre choix:"); fgets(choix, sizeof choix, stdin); fclean(choix, stdin); if(!strcmp(choix, "1")==0) { return 0; } else { system(CLEAR); fprintf(stdout, "Entrez un nombre entre 10 et 20\n\nVotre nombre:"); fgets(saisie, sizeof saisie, stdin); fclean(saisie, stdin); snprintf(code, sizeof code, "%i", hasard); if(strcmp (saisie, code)==0) { fprintf(stdout, "\n\nVous avez trouve le bon nombre\n\n"); } else { fprintf(stdout, "\n\nVous n'avez pas trouve le bon nombre\n"); fprintf(stdout, "Le bon nombre etait %i\n\n", hasard); } pause("Appuyez sur ENTRER pour continuer"); system(CLEAR); return main(); } }
myHeader.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #ifndef MYHEADER_H #define MYHEADER_H #ifdef WIN32 #define CLEAR "CLS" #elif defined (linux) #define CLEAR "clear" #else #error Not defined for this plateforme #endif void fclean(char *s_buffer, FILE *stream); void pause(char const *s_message); #endif //MYHEADER_H
Merci d'avance
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 #include <stdio.h> #include <string.h> #include <stddef.h> #include "myHeader.h" void fclean(char *s_buffer, FILE *stream) { if (s_buffer != NULL && stream != NULL) { char *pc = strchr(s_buffer, '\n'); if (pc != NULL) /* La saisie n'a pas été tronquée */ { /* On remplace '\n' par le caractère nul '\0' */ *pc = 0; } else { /* La saisie a été tronquée, on purge le flux d'entrée */ int c; while ((c = fgetc(stream)) != '\n' && c != EOF) { //Rien } } } } void pause (const char *s_message) { if (s_message != NULL && strlen (s_message) != 0) { fprintf (stdout, "%s", s_message); fflush (stdout); } { char c[2]; fgets (c, sizeof c, stdin); fclean (c, stdin); } }![]()
Partager