Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come fare ingresso solo un numero intero in C + +

ingresso forzato in un programma C + + ad essere un numero intero è utile quando si richiede una persona di inserire un numero , come ad esempio la sua età , e si vuole ignorare input non valido , come ad esempio "$ 2 ", " 18,5 "o" no ". Non vi è alcun modo semplice per limitare l' ingresso di un tipo specifico, come le funzioni di I /O in genere elaborare l'input semplicemente come un carattere o una stringa. Per forzare l' ingresso intero, ciclo manualmente attraverso l'ingresso e controllare che ogni carattere è un intero valido . Istruzioni
1

Aprire il file C + + in un editor come Microsoft Visual Studio Express .
2

Includere le librerie necessarie per accedere alle funzioni aggiungendo il seguente codice al all'inizio del file :

# include //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 >

 

Programmazione © www.354353.com