Можно загонять ввод в строку, а потом посимвольно проверять isdigit'ом, можно попытаться преобразовать строку в число и смотреть, что получится. Но для себя я выбрал такой способ: взять и загнать без лишних слов ввод в числовую переменную, а дальше по обстановке:
int t;
if (cin >> t)
cout << "Ok" << endl;
else
cout << "Not ok" << endl;
Просто и элегантно.
Работает так:
Введено число, умещающееся в свой тип: Ok.
Введена конструкция из цифр (хотя бы одна лидирующая) и свякой фигни, напр. 111aaa - в переменную считается число до первой "не цифры", в данном случае 111, остальное останется в буфере.
Введено что-то иное - Not ok.
Комментариев нет:
Отправить комментарий