geekbrains_oop_cpp/lesson_6/exercise_1.hpp

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