#include <stdio.h>
#include <ctype.h>
#define MAXBUFFERSIZE 80
void clearline( void )
{
char c;
c = getchar();
while( c != '\n' )
c = getchar();
}
main()
{
char c;
char buf[MAXBUFFERSIZE];
int nr;
int flag = 0;
int valid;
while( flag == 0 ) {
printf(" Introduceti sirul (<80 chars)\n");
c = getchar();
nr = 0;
while( (c != '\n') && (nr < MAXBUFFERSIZE)) {
buf[nr++] = c;
c = getchar();
}
buf[nr] = '\0';
printf("\nLinia introdusa a fost :\n");
printf("%s\n", buf);
valid = 0;
while( valid == 0 ) {
printf("Continuati (Y/N)?\n");
scanf(" %c", &c );
c = toupper( c );
if ((c == 'Y') || (c == 'N') )
valid = 1;
else
printf("\007Erroare: Alegere gresita!\n");
clearline();
}
if (c == 'N') flag = 1;
}
}
Un alt exemplu se refera la citirea unui numar ca un sir.
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#define MAXBUFFERSIZE 80
main()
{
char c;
char buf[MAXBUFFERSIZE];
int nr;
int flag = 0, number, valid;
while( flag == 0 ) {
valid = 0;
while( valid == 0 ) {
printf("Introduceti un numar intre 1si 1000\n");
c = getchar();
nr = 0;
while( (c != '\n') && (nr < MAXBUFFERSIZE)) {
buf[nr++] = c;
c = getchar();
}
buffer[nr] = '\0';
number = atoi( buffer );
if ( (number < 1) || (number > 1000) )
printf("Eroare. Numarul nu este in intervalul 1-1000\n");
else
valid = 1;
}
printf("\nNumarul introdus :%d\n",number);
}
}
#include <stdio.h>
#include <ctype.h>
main()
{
int valid;
char c;
valid = 0;
while( valid == 0 ) {
printf("Continuati (Y/N)?\n");
scanf(" %c", &c );
c = toupper( c );
if ((c == 'Y') || (c == 'N') ) valid = 1;
else printf("Eroare!\n");
}
}