tweaked code a little bit with an added nonworking print statement
Code:
#include <string.h>
#include <stdio.h>
int main (void)
{
char *legalchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
int cmd, flag;
do
{ cmd = GetLegalInput(legalchars);
printf ("Command = %c\n", cmd); }
while (flag != EOF);
do
{ cmd != GetLegalInput(legalchars);
printf("Error: %c is not a letter\n", cmd);
}
while (cmd != GetLegalInput(legalchars));
}
int GetLegalInput( char *allowed )
{ int ch, flag;
do
flag = ch = getchar();
while(! strchr(allowed,ch));
return ch;
}