bonjour à tous! excuser moi de grappiller un peu de votre temps mais je suis un débutant en langage c et je dois réaliser un menu et mon problème est au niveau de la sélection du menu. je comptais partir sur la création d'une fonction qui me permettra de vérifier que l'utilisateur a bien saisie un entier et non un caractère ou caractère spéciale. mais je ne sais pas comment m'y prendre. merci d'avance.
int menu () {
int selection = 0;
int compte;
boucle:do{
system("cls");
printf(" Menu Pincipal \n");
printf("1 Applications diverses\n");
printf("2 Simulation guichet automatique de banque GAB \n");
printf("0 Quitter\n");
printf("choix: ");
rewind(stdin);
compte = scanf("%d", &selection);
}while((selection < 0)|| (selection >2));
> If the given stream was open for writing (or if it was open for updating and the last i/o operation was an output operation) any unwritten data in its output buffer is written to the file.
> If stream is a null pointer, all such streams are flushed.
> In all other cases, the behavior depends on the specific library implementation. In some implementations, flushing a stream open for reading causes its input buffer to be cleared (but this is not portable expected behavior).
En gros si fd est une sortie alors on ecrit tout, si fd est un une entrée on sait pas ça depend de la lib, donc on ne fais pas fflush( stdin );
pour rewind(), c'est pas addapté au besoin :
> The C library function void rewind(FILE *stream) sets the file position to the beginning of the file of the given stream.
PS : même si certain profs enseignent qu'on peut fflush stdin, c'est pas à faire, car non spécifié donc à minima non portable.
- Edité par ox223252 4 juillet 2019 à 7:47:46
la connaissance est une chose qui ne nous appauvrit pas quand on la partage.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
la connaissance est une chose qui ne nous appauvrit pas quand on la partage.
Mon GitHub
la connaissance est une chose qui ne nous appauvrit pas quand on la partage.
Mon GitHub