Here Im trying to get an integer from user, looping while the input is correct.
After entering non integer value (e.g \"dsdfgsdg\") cin.fail() returns true, as expec
As a matter of style, prefer this method:
int main() { int a; while (!(std::cin >> a)) { std::cout << "Incorrect data. Enter new integer:" << std::endl; std::cin.clear(); std::cin.ignore(std::numeric_limits::max(), '\n'); } }