to Cheery
первый вариант не подошел, у меня компилятор древний,
про второй с использованием строки и функции isdigit() тоже примерно думал так делать.
с третим вариантом - не понимаю как целому числу присваивать строку ( int sInput = "";) - выбивает ошибку, и еще одну ошибку когда пытаешся это число сделать аргументом функции ( IsNumeric(sInput); )
to shavarsh
не до конца понял, что делает программа..
а насчет isdigit() -то можно в цикле проверить каждый символ является ли этот символ числом или нет
to c0d3r -
Спасибо!
нашел сылку где про cin.fail() говорится (
http://www.math.rsu.ru/mexmat/miks/IT2/25_C++IOStreams.html )
вот нужный алгоритм
int i;
cin >> i;
while (cin.fail())
// необходимо очистить признак ошибки в потоке
{
cin.clear(); // очистить ошибочное состояние потока
cin.ignore(); // пропуск одного символа в потоке // или cin >> s, где s - строка
cin >> i;
}