So, I have something simple like...

```
int userinput = 0;

cout << "Enter a number: ";
cin >> userinput;

while (userinput != 1 && userinput != 2 ) { //etc for menu options
    cout << "Invalid entry! Try again! ";
    cin >> userinput;
}

```

And it works fine so long as I enter numbers, but if I enter 'a' it breaks my program and goes into an infinite loop... Which makes no sense, from what I understand of C++. Since I typed userinput as an int, wouldn't it take 'a' as the ASCII value for a and give an invalid input error for not being a number on my menu list? Why the infinite loop, and how do I stop it? I'm coding in Visual Studio 2012 if it makes any difference...