コンソールアプリケーションで、ユーザにインプットをもらって処理をするコードがあります。
その時、
int a;
cin >> a;
として、入力が数字ではなかったとき、変数aにはなにも代入されず、
ユーザが行った入力はどこかのバッファに溜まってる
のでしょうか。その次の入力から動作がおかしくなります。
あと、もし上記が正しいとすると、ユーザからの入力を受け取る処理は、
とりあえずstringで受けるべきなのでしょうか?