123456
int a; do{ std::cin>>a; if(std::cin.fail())std::cout<<"gib number\n"; } while(std::cin.fail());
if ( std::cin >> a ) { // success } else { std::cin.clear(); std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n'); }