//isdigit
# include //atoi
# include < String . h> //strlen
# include //printf , fgets , stdin , Declare BUFSIZ
3
die erforderlichen Variablen zur Eingabe eine ganze Zahl indem Sie den folgenden Code am Anfang Ihrer Funktion :
int Zahl ;
unsigned n;
char buffer [ BUFSIZ ] ;
bool found_nondigit , gültig ;
4
Bitten Sie den Benutzer zur Eingabe eines Integer. Prüfen Sie, ob es gültige Eingabe , und wenn nicht , sollten Sie Interesse an Eingang bis der Benutzer nur eine ganze Zahl , indem Sie den folgenden Code :
gültig = false;
while {
printf (" Geben Sie eine ganze Zahl ein: ");
if (! fgets (buffer, sizeof Puffer , stdin) = NULL ) {
buffer [ strlen (buffer ) -1 ] = '\\ 0' ;
found_nondigit = false;
if ( strlen (buffer ) == 0)
found_nondigit = true;
für (n = 0 , n < strlen ( buffer); n + +)
wenn
found_nondigit = true ( isdigit ( buffer [ n]) ! );
if (! found_nondigit ) {
number = atoi ( buffer);
printf (" % d \\ n", Zahl);
gültig = true;
}
sonst
printf (" Fehler: Ungültige Eingabe \\ n"); }
}
Eingang wie " 5f "," x6 "und" 8.4 " werden als ungültig Eingang erkannt . Die " for"-Schleife prüft, ob jedes eingegebene Zeichen ist eine Zahl von 0 bis 9 enthalten. Die "if ( strlen (buffer ) == 0) " Linie überprüft, ob der Benutzer drückte die " Enter"-Taste ohne Eingabe keine Eingabe. Die " atoi "-Funktion wandelt die Eingabe in einen Integer , sobald es bestätigt wurde .
5
Speichern Sie die C + + -Datei, kompilieren und führen Sie das Programm auf ganze Eingabe vom Benutzer sammeln .
< Br >