Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako si vyrobiť vstup iba celé číslo v C + +

Vynútené vstup do + + C programu bolo číslo je užitočné , keď žiadate o osobe zadať číslo , napríklad jeho veku , a ak chcete ignorovať neplatný vstup , ako napríklad " $ 2 , " " 18,5 " alebo " nie " . Neexistuje žiadny jednoduchý spôsob , ako obmedziť vstup do určitého typu , ako I /O funkcie sa zvyčajne spracovávajú vstup iba ako znak alebo reťazec . Ak chcete vynútiť celočíselný vstup , ručne slučku cez vstup a skontrolujte , že každá postava je platné číslo . Pokyny dovolená 1

Otvorte C + + súbor v editore , ako je napríklad Microsoft Visual Studio Express .
2

obsahovať potrebné knižnice pre prístup k funkciám pridaním nasledujúceho kódu na horná súboru : Spojené

# include //isdigit

# include //atoi

# include < reťazec . h > //strlen

# include //printf , fgets , stdin , BUFSIZ
3

deklarovať premenné nutné zadať celé číslo pridaním nasledujúceho kódu na hornej časti funkcie :

int číslo ;

unsigned n ;

char pufra [ BUFSIZ ] ;

bool found_nondigit , platí ,
4

požiadať užívateľa o vstup celé číslo . Skontrolujte , či je platný vstup , a ak nie, držať vyžadujúci vstup , kým používateľ zadá len číslo pridaním nasledujúceho kódu :

platné = false ;

zatiaľ čo { < br ( platí! ) >

printf ( " Zadajte číslo : " ) ;

if ( fgets ( buffer , sizeof vyrovnávacej pamäti , stdin ) = NULL ! ) {

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

found_nondigit = false ;

if ( strlen ( buffer ) == 0 )

found_nondigit = true ;

pre ( n = 0 , n < strlen ( buffer ) , n + + )

ak

found_nondigit = true ( isdigit ( vyrovnávacej pamäte [ n] ) ! ) ;

if ( ! found_nondigit ) {

číslo = atoi ( buffer ) ;

printf ( " % d \\ n" , číslo ) ;

platné = true ;

}

iného

printf ( " Chyba: Neplatný vstup \\ n" ) ;

}

}

vstup , ako je " 5f , " " x6 " a " 8.4 " sú detekované ako neplatný vstup . " Pre " kontrolu slučky , ak každý zadaný znak je číslo od 0 do 9. V " if ( strlen ( buffer ) == 0 ) " kontroluje vedenie , ak používateľ stlačil " Enter " kláves bez zadania akýkoľvek vstup . Funkcia " atoi " prevádza vstup na celé číslo , akonáhle bola potvrdená .
5

Uložte + + C súbor , kompilácie a spustenie programu za účelom zhromažďovania celočíselné vstup od užívateľa .


Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené