Санчо42, неа, логика тут такая:
Посылаем 1, хорошо, посылаем ещё одну - хорошо, посылаем ещё - хорошо, посылаем букву - плохо, на поток badbit, failbit и мусор в потоке, который в переменную не отправился. Так и делают контроль ввода ошибочных данных.