Actually, if you are inputting integers with iostream functions and you input a char, then your stream will go into a fail state. You will need to do 2 things:
1. clear the failbit with cin.clear();
2. ignore anything left in the stream with cin.ignore(x); where x is some number big enough to make sure you've ignored everything left in the stream.
Many choose to avoid this by inputting a char and doing the validation on it something like:
cin >> input;
if (input <'0' || input >'9')...