I’m trying to only accept integers as input and loop through it at the same time as a sort of validation. The problem is, when a user enters something along the lines of “Two” the while loop goes through the input 3 different times before asking the user again. Is there a way to prevent this from happening and just skip the 3 iterations?
cout << "Enter Student ID: ";
while(!(cin >> id))
{
cout << "\nERROR: Please enter a Positive Whole Number" << endl;
cin.clear();
cin.ignore ();
cout << "Enter Student ID: ";
}
You can use this.
It would skip all the lines and you wont get extra loop iterations, no matter how many invalid characters you enter.