Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να κάνει Input Μόνο ένας ακέραιος σε C + +

εξαναγκασμός εισόδου σε C ​​+ + πρόγραμμα για να είναι ένας ακέραιος είναι χρήσιμη όταν ζητάτε ένα άτομο να εισαγάγετε έναν αριθμό , όπως η ηλικία του , και θέλετε να αγνοήσετε άκυρο εισόδου, όπως "$ 2 , "" 18.5 "ή" όχι ". Δεν υπάρχει απλός τρόπος για να περιορίσεις την είσοδο σε ένα συγκεκριμένο είδος , όπως τα I /O λειτουργίες επεξεργάζονται συνήθως απλά ως εισαγωγή ενός χαρακτήρα ή μιας συμβολοσειράς . Για να επιβάλετε ακέραιος εισόδου , ​​με το χέρι βρόχο μέσω της εισόδου και βεβαιωθείτε ότι κάθε χαρακτήρας είναι ένα έγκυρο ακέραιο αριθμό . Οδηγίες
Η

1 Ανοίξτε το C + + αρχείο σας σε ένα πρόγραμμα επεξεργασίας όπως το Microsoft Visual Studio Express . 2

Συμπεριλάβετε τις απαραίτητες βιβλιοθήκες για πρόσβαση στις λειτουργίες με την προσθήκη του παρακάτω κώδικα κατά τη κορυφή του αρχείου σας :

# include //isdigit

# include //atoi

# include <κορδόνι . h> //strlen

# include //printf , fgets , stdin , BUFSIZ
εικόνων 3

αναγνωρίσει τις μεταβλητές που απαιτούνται για την είσοδο ένας ακέραιος με την προσθήκη του παρακάτω κώδικα στην κορυφή της λειτουργίας σας :

int αριθμό ?

ανυπόγραφο n ?

char buffer [ BUFSIZ ] ?

bool found_nondigit , ισχύει ?
Η 4

Ζητήστε από το χρήστη να εισάγει ένας ακέραιος . Ελέγξτε αν είναι νόμιμη είσοδο και , αν όχι , να κρατήσει ζητώντας εισόδου μέχρι ο χρήστης εισάγει μόνο έναν ακέραιο με την προσθήκη του παρακάτω κώδικα :

έγκυρη = false ?

Ενώ {

printf ( " Εισάγετε έναν ακέραιο αριθμό : " ) ?

αν ( fgets ( buffer , sizeof ρυθμιστικό , stdin ) = NULL ! ) {

buffer [ strlen ( buffer ) -1 ] = ' \\ 0'?

found_nondigit = false ?

εάν ( strlen ( buffer ) == 0 )

found_nondigit = true ?

για ( n = 0 ? n

αν

found_nondigit = true ( isdigit ( buffer [ n] ) ! ) ?

if ( ! found_nondigit ) {

αριθμό = atoi ( buffer ) ?

printf ( "% d \\ n" , αριθμός) ?

έγκυρη = true ?

}

άλλο

printf ( " Σφάλμα : Μη έγκυρη είσοδος \\ n" ) ? }


}

εισόδου , ​​όπως " 5στ , " " x6 " και " 8.4 " ανιχνεύονται ως άκυρη εισόδου. Το " για" τους ελέγχους βρόχων εάν κάθε χαρακτήρας που εισάγεται είναι ένας αριθμός 0-9 . Οι " εάν ( strlen ( buffer ) == 0 ) Οι" έλεγχοι γραμμής , εάν ο χρήστης πατήσει το πλήκτρο "Enter" χωρίς να εισέρχονται σε είσοδο . Η λειτουργία " atoi " μετατρέπει την είσοδο σε ακέραιο τη στιγμή που έχει επικυρωθεί .
5

Αποθηκεύστε τη C + + αρχείο , την κατάρτιση και την εκτέλεση του προγράμματος για τη συλλογή ακέραιο είσοδο από το χρήστη .


εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα