Code:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
enum field = {
NAME = 0,
EMAIL,
PHONE,
ADDRESS_LINE1,
ADDRESS_LINE2,
END
};
const char *field_names[] =
{
"Name",
"E-Mail",
"Phone Number",
"Address (line 1)",
"Address (line 2)",
};
int main(void)
{
char fields[END][500];
enum field field;
int done = 0;
while(!done)
{
for(field = NAME; field < END; field++)
{
printf("Please input your %d (or B to go back): ", field_names[fields]);
fgets(fields[field], 500, stdin);
strtok(fields[field], "\n"); // ditch the trailing \n char.
if(strcmp(fields[field], "B");
field -= 2;
if(fields < NAME)
fields = NAME;
}
puts("You entered the following:");
for(field = NAME; field < END; field++)
printf(fields[field]);
fprintf("Is this correct? (Y/N)", stdout);
done = (toupper(getchar()) == 'Y');
}
// NOW do your parsing with those lines
return 0;
}