36 lines
873 B
C++
36 lines
873 B
C++
#ifndef EXERCISE_1_HPP_
|
|
#define EXERCISE_1_HPP_
|
|
|
|
/*
|
|
* Едея заключается в том, чтобы проверять
|
|
* корректность ввода на наличие флага ошибок.
|
|
* Если good() == true - тогда чтение прошло без ошибок.
|
|
*/
|
|
|
|
#include <limits>
|
|
|
|
void exercise_1()
|
|
{
|
|
int num;
|
|
|
|
std::cout << "Введите целое число: ";
|
|
|
|
while (true)
|
|
{
|
|
std::cin >> num;
|
|
|
|
if (std::cin.good() && std::cin.peek() == '\n')
|
|
{
|
|
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
|
|
break;
|
|
}
|
|
std::cin.clear();
|
|
std::cout << "Введено некорректное число. Попробуйте ещё раз: ";
|
|
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
|
|
}
|
|
|
|
std::cout << "Введено целое число " << num << std::endl;
|
|
}
|
|
|
|
#endif
|