// fromalexx.cpp : Defines the entry point for the console application.
#include <stdafx.h>
#include <iostream>
#include <conio.h>
bool readint(int& nNumber)
{
bool isSuccess = false; // удалось считать или нет
char ch = 0;
while (ch != 'q' && !isSuccess) // выход если введено 'q' или если считали число
{
std::cout << "Try to enter a number: ";
std::cin >> nNumber; // пытаемся получить число
if (std::cin.fail())
{ // не число
std::cin.clear(); // очищаем чтобы считать чтоже было введено (первый символ)
std::cin >> ch;
if (ch != 'q')
{ // если это не символ выхода, тогда выдаем ошибку
std::cerr << "This input isn't a number" << std::endl;
}
}
else
{
// если было введено число
isSuccess = true;
}
}
return isSuccess; // возвращем статус (введено число или нет)
}
int main()
{
int nNumber = -1;
if (readint(nNumber)) // считываем число
{ // если удалось считать, то выводим его
std::cout << "You enter a number: " << nNumber;
}
std::cout << std::endl << "Exiting...press any key";
getch();
return 0;
}