8 / 8 / 1
Регистрация: 18.12.2011
Сообщений: 409
|
||||||
1 | ||||||
Проверка на ввод символа23.09.2012, 19:02. Просмотров 11804. Ответов 3
Метки нет Все метки)
(
Предположим вместо числа был введен символ, тогда после ввода символа пропускается вторая строчка cin>>b; и далее заного перезапускается начальная функция main(); и так она будет постоянно, почему так?
0
|
|
23.09.2012, 19:02 | |
Проверка на ввод символа Ввод символа Ввод специального символа. |
|
5478 / 4873 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
23.09.2012, 20:20 | 2 | ||||||||||
После cin >> поставьте эту конструкцию:
Если первым идёт не то, что cin >> ожидает (например символ буквы, когда ожидается число), то cin устанавливает флаг ошибки, и дальнейшая работа с потоком ввода становится невозможной. То что не ввелось, остаётся в потоке ввода. cin.clear(); сбрасывает флаг ошибки, а cin.get(), в цикле while(), будет извлекать символы из потока ввода, пока не встретит символ новой строки - '\n' (попадает в поток при нажатии Enter), извлечёт и его. Таким образом, поток ввода очистится и с ним снова можно будет работать. Добавлено через 13 минут Обыгрывать такие ситуации можно, например, так:
3
|
8 / 8 / 1
Регистрация: 18.12.2011
Сообщений: 409
|
|
23.09.2012, 22:22 [ТС] | 3 |
alsav22, огромное спасибо
![]()
0
|
0 / 0 / 0
Регистрация: 28.10.2017
Сообщений: 3
|
|
09.06.2018, 12:00 | 4 |
С int всё работает хорошо, пытался сделать проверку с double, курсор просит ввести значение ещё раз и так до тех пор пока не введёшь int. Подскажите в чём причина?
0
|
09.06.2018, 12:00 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Пропускает ввод символа Проверка символа на повторяемость.
Как отследить ввод символа в программу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |