//printf , fgets , stdin , BUFSIZ
3 Erklærer variablene nødvendig å skrive inn et heltall ved å legge følgende kode øverst i funksjon din : en
int antall ;
usignert n;
røye buffer [ BUFSIZ ];
bool found_nondigit , gyldig ;
4
Be brukeren om å skrive inn et heltall . Sjekk om det er gyldig inngang , og hvis ikke , holde ber om innspill til brukeren oppgir kun et heltall ved å legge følgende kode:
gyldig = false;
mens {
printf (" Skriv inn et heltall : ");
if ( ! fgets (buffer , sizeof buffer , stdin ) = NULL) {
buffer [ strlen (buffer ) -1 ] = '\\ 0 ';
found_nondigit = false;
if ( strlen (buffer ) == 0 )
found_nondigit = true;
for (n 0 = ; n < strlen (buffer ) , n + + )
hvis
found_nondigit = sant ( isdigit (buffer [ n ] ) ! ) ;
if ( ! found_nondigit ) {
nummer = atoi (buffer ) ;
printf ( "% d \\ n" , tall);
gyldig = true ;
}
annet
printf ( "Feil: Ugyldig inndata \\ n ");
}
}
Input eksempel " 5f , " " x6 "og" 8.4 " er registrert som ugyldige inndata . De " for" sløyfekontroll om hvert tegn inngått er et tall fra 0 til 9 . Den " if ( strlen (buffer ) == 0 ) " linje sjekker om brukeren har trykt på "Enter "-tasten uten å angi noen innspill . Den " atoi "-funksjonen konverterer innspill til et heltall når det har blitt validert .
5
Lagre C + + -filen , kompilere og kjøre programmet for å samle heltall input fra brukeren .