//printf , fgets , stdin, BUFSIZ
3 déclarer les variables nécessaires à l'entrée un entier en ajoutant le code suivant au début de votre fonction :
nombre d' int;
unsigned n;
char buffer
[ BUFSIZ ] ;
bool found_nondigit , valable ;
4
Demandez à l' utilisateur d'entrer un entier. Vérifier si elle est entrée valide et , si non, gardez demandant entrée jusqu'à ce que l'utilisateur entre seulement un entier en ajoutant le code suivant :
valide = false;
tandis que {< br (valable !) >
printf (" Entrez un entier :");
if (! fgets (buffer , buffer sizeof , stdin) = NULL) { tampon
[ strlen (buffer ) -1 ] = '\\ 0' ;
found_nondigit = false;
if (strlen (buffer ) == 0)
found_nondigit = true;
pour (n = 0 ; n < strlen ( buffer); n + +)
si
found_nondigit = true ( isdigit ( buffer [ n]) !) ;
if (! found_nondigit ) {
nombre de
= atoi ( buffer);
printf ( "% d \\ n", nombre) ;
valide = true;
}
autre
printf ( "Erreur: entrée invalide \\ n") ; }
}
entrée comme " 5f "," x6 "et" 8.4 " sont détectés en entrée invalide. Les " pour" des contrôles en boucle si chaque caractère saisi est un nombre de 0 à 9. Le "if ( strlen ( buffer) == 0) " contrôles en ligne si l'utilisateur appuie sur la touche "Enter " sans entrer dans n'importe quelle entrée. La fonction " atoi " convertit l'entrée en entier une fois qu'elle a été validée.
5
Enregistrez le fichier C + + , compiler et exécuter le programme pour collecter les entrées entier de l'utilisateur.
< Br >