I'm working on a simple database. The data entry will be a combo of 5 numbers and 2 letters. If anything else other than exactly 5 numbers and 2 letters are entered an infinite loop is created. How can I filter out the bad input?
Code:
#include <stdio.h>
int main()
{
int num;
char let1, let2;
printf ("ENTER M CARD: ");
scanf ("%d%c%c", &num, &let1, &let2);
/**************************************************/
if (num == 10105)
{if (let1 == 'B' || let1 == 'b' && let2 == 'W' || let2 == 'w')
{ printf ("\nM CARD IS 10105BW ");
printf ("\n*****************\n\n\n");
} else
printf ("\n INVALID ENTRY\n\n\n");
} else
/**************************************************/
if (num == 10106)
{if (let1 == 'Q' || let1 == 'q' && let2 == 'C' || let2 == 'c')
{ printf ("\nM CARD IS 10106QC");
printf ("\n*****************\n\n\n");
} else
printf ("\n INVALID ENTRY\n\n\n");
} else
/***********************************************/
printf ("\n INVALID ENTRY\n\n\n");
main ();
} /******end main */