Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 04.02.2008
Сообщений: 10

проверка на число

29.03.2010, 17:18. Показов 1410. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
код
C++
1
2
3
4
5
6
7
8
9
10
        int index;
 
        ...
 
        while (1)
    {
    cin >> index;
    if (cin.good()) break;
    cout << "Неверный ввод! Вводите в числовом формате:"<<endl;
    }
сделал проверку, чтобы пользователь вводил числовой вариант, но если мы вводим буквы, то программа зацикливается сообщением, тоесть второй раз cin >> index; не вызывается.

Как быть?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.03.2010, 17:18
Ответы с готовыми решениями:

Visual C++ проверка ввода на число, проверка на кирилицу
Суть ввести с клавиатуры нечто, и повторять ввод до тех пор пока введенное число не будет числом. Этот код проверяет на буквы и знаки,...

Проверка, делится ли число на другое число без остатка
Есть ли в Visual Basic.NET оператор или функция, которая проверяет делится ли одно число на другое без остатка?

Проверка введенных данных: число/не число
проходим try catch throw в универе. взял стаааааарую прогу и в нее вкладываю проверки введенных данных посредством try catch throw но у...

3
ниначмуроФ
 Аватар для PointsEqual
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
29.03.2010, 17:31
у меня точно такая же проблема была , вот пример использования :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 while (true){
            CharToOem("Введите количество потребителей: ",message);
            std::cout<<message;
            std::cin>>count_consumer;
            if (!cin.good() || count_consumer<=0){
                count_supplier=0;
                cin.clear();
                cin.ignore(numeric_limits<streamsize>::max(),'\n');
                SetConsoleTextAttribute(con, FOREGROUND_RED | FOREGROUND_INTENSITY);
                CharToOem("Неверные данные!. ",message);
                std::cout<<message<<std::endl;
                SetConsoleTextAttribute(con, FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY);
            } else break;
        }
Добавлено через 36 секунд
тоесть надо после дописывать 2 строчки
C++
1
2
cin.clear();
 cin.ignore(numeric_limits<streamsize>::max(),'\n');
1
0 / 0 / 0
Регистрация: 04.02.2008
Сообщений: 10
29.03.2010, 17:41  [ТС]
еще вариант нашел, вставить строчки
C++
1
2
cin.clear();
cin.ignore(cin.rdbuf()->in_avail());
но не очень понятно как вот это: cin.rdbuf()->in_avail() работает
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
29.03.2010, 18:02
cin.rdbuf() - возвращает указатель на буфер потока cin
streamsize in_avail( );

Returns the number of elements that are ready to be read from the buffer.
Возвращает число элементов, готовых быть прочтенными из буфера (в данном случае из буфера потока cin)

basic_istream<Elem, Tr>& ignore(
streamsize _Count = 1,
int_type _Delim = traits_type::eof( )
);

Causes a number of elements to be skipped from the current read position.
Пропускает число элементов, начиная с текущей позиции.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.03.2010, 18:02
Помогаю со студенческими работами здесь

проверка число или не число
Подскажите,как на php сделать проверку код должен быть такой: если в поле из таблицы записано число,то его надо поменять на поле...

Проверка на число
у меня есть скрипт (решение неравенства ax+b&lt;0) помогите сделать проверку на то введено ли число если введено не число соответственно...

Проверка на число
Здравствуйте. Есть строка в файле, которая считывается в переменную string test; Эта строка может быть либо числом в пределах типа uint;...

Проверка на число
Здравствуйте, я создала текстовое поле с помощью input,и мне надо сделать ограничения на ввод данных(можно вводить только числа).Т.е....

Проверка на число
Здравствуйте! У меня такой вопрос: я считываю 2 аргумента функцией scanf() и хочу проверить, являются ли они оба числами/целыми числами....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru