je voudrais savoir comment faire pour contrôler la saisie des données en C (contrôler pour que les données soient entières) , je fais référence en Pascal où on utilise la procédure ioresult pour contrôler la saisie des entier par exemple.
je voudrais savoir comment faire pour contrôler la saisie des données en C (contrôler pour que les données soient entières) , je fais référence en Pascal où on utilise la procédure ioresult pour contrôler la saisie des entier par exemple.
Que les données "soivent" ???
Bon ben pour controler qu'une donnée soive entière, faut utiliser le retour de scanf car il te retourne le nb d'éléments réellement traités
Exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 char saisie[1024]; int nb; while (1) { printf("Entrez un nombre :"); fgets(saisie, 1024, stdin); if (sscanf(saisie, "%d", &nb) == 1) break; printf("Saisie invalide => try again !!!\n"); }
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Bonsoir Sve@r, vos codes la ne font pas vraiment ce que je cherche car on sort de la boucle quand c'est pas un entier n'est pas saisie.
par exple en pascal on peut écrire
Var N:integr;
Repeat
{$i-}Read(N);{$i+}
Until (IOresult=0);
On sortira de la boucle que si un entier est saisie.
J'ai trouve un code qui fait ce travail, mais avant de le mettre en ligne je doit le commenter.
merci pour votre code et je vous demande de commanter un peu prochaine vos codes.
Euh, tu as testé ?
C'est quoi le problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Entrez un nombre :aaa Saisie invalide => try again !!! Entrez un nombre :12 Press ENTER to continue.
Partager