//isdigit
# include //atoi
# include < stringa . h> //strlen
# include //printf , fgets , stdin , BUFSIZ
3
dichiarare le variabili necessarie per immettere un numero intero aggiungendo il seguente codice nella parte superiore della vostra funzione :
numero int ;
unsigned n;
char buffer [ BUFSIZ ] ;
bool found_nondigit , valido ;
4
Chiedi all'utente di inserire un numero intero. Controllare se è valido in ingresso e, se non , continuano a chiedere di input fino a quando l'utente inserisce solo un numero intero , aggiungendo il seguente codice :
valido = false;
mentre { < br ( valido ! ) >
printf ( "Inserire un numero intero: ");
if ( fgets (buffer , sizeof tampone , stdin ) = null) {
tampone
[ strlen (buffer ) -1 ] = '\\ 0' ;
found_nondigit = false;
if ( strlen (buffer ) == 0 ) per
found_nondigit = true;
per ( n = 0 , n < strlen (buffer ) ; n + + ) per
se
found_nondigit = true ( isdigit (buffer [ n]) !) ;
if (! found_nondigit ) {
numero
= atoi (buffer ) ;
printf ( "% d \\ n" , numero) ;
valido = true ;
}
altro
printf ( "Errore : Invalid input \\ n"); }
}
input come ad esempio " 5f ", " x6 " e " 8.4 ", vengono rilevati come input non valido . I controlli ciclo "for ", se ogni carattere inserito è un numero da 0 a 9. Il "if ( strlen (buffer ) == 0) " controlli di linea se l'utente preme il tasto "Enter" senza inserire alcun input . La funzione " atoi " converte l' ingresso a un numero intero una volta che è stato convalidato .
5
Salvare il file di + + , compilare ed eseguire il programma per raccogliere ingresso intero da parte dell'utente.
< Br C >