Hey there,
Im new to c and im struggling with pointers.
I want to check that input from the user is a, f, s, t, or q.
This is what ive got so far..
#include
#include
FILE *file;
char mode;
int main ()
{
char *i[2];
file = fopen (“students.dat”, “r”);
if (file == NULL)
{
printf(“error\n”);
exit (8);
}
int ch, records = 0;
while ( (ch = fgetc(file)) != EOF )
{
if ( ch == “#” )
{
++records;
}
}
fclose(file);
printf(“There are %d records in the student database.\n a. List all students.\n f. List first year students.\n s. List second year students.\n t. List final year students.\n ———————————–\n q. Quit.\n”, records);
fgets(i, sizeof(i), stdin);
if ( (i !=”a”, i) && (“%s” !=”f”, i) && (“%s” !=”s”, i) && (“%s” !=”t”, i) && (“%s” !=”q”, i) )
printf(“Error incorrect input!\n”);
return 0;
}
The problem im having is finding a way to check that the user input is correct. I know fgets returns a pointer which points to the location of where the input is stored, so how do i use that to compare with eg ‘a’?
Thanks any help would be greatly appreciated.