std::cout<<"\t"<<"Ваш класс - " ;
std::cin>>klass;
Ну, если введено что-то не то - значит, сбросить поток, попросить ввести заново. Вот примерный набросок для целого числа в конкретном диапазоне (понятно, что для другого типа все может быть иначе):
int N;
for (;;) {
std::cout << " Введите целое от min до max: " << std::flush;
if ((std::cin >> N).good() && (min <= N) && (N <= max)) break;
if (std::cin.fail()) {
std::cin.clear();
std::cout << "Неверный ввод, повторите.\n";
} else {
std::cout << "Число вне допустимого диапазона значений. Повторите ввод.\n";
}
std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники