![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
кипр |
|
|||
Unregistered |
Прошу помощи!!!!
У меня есть часть программы :если введен символ,а надо целое число,нужно чтобы программа выводила ошибку и сразу же предлагала ввести целое число заново.Я не могу понять как именно она работает?Что значат cin.fail, cin.clear();, cin.ignore(256,'\n'); (если можно расшифруйте пожалуйста)? Возможно есть другой вариант решения этой задачи? cout << "Enter array[" << i << "]: "; cin >> ar[i]; while(cin.fail()) { cin.clear(); cin.ignore(256,'\n'); cout << "ERROR! Enter integer.\n"; cout << "Enter array[" << i << "]: "; cin >> ar[i]; } Заранее выражаю благодарность. ![]() |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
cin.fail() - то есть цикл работает до тех пор, пока во входном потоке есть ошибочный символ. Ошибочным он будет как раз тогда, когда вводится символ, так как элемент массива - число целого типа. При введении символа возникает несовпадение типов, и, как следствие, ошибка, которая и обрабатывается функцией fail().
cin.clear() - очистка входного потока. cin.ignore() - игнорирование по всей длине потока символов переноса строки. |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 50 Всего: 88 |
sim7,
![]() Всё правильно, молодец. -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
![]() ![]() |
|||
|
||||
кипр |
|
|||
Unregistered |
![]() ![]() |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 50 Всего: 88 |
кипр, ну, напиши 255 или 250, какая разница. Можешь даже 999 написать, не жалко. ![]() -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
V.A.KeRneL |
|
|||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
std::cin.ignore() can be called three different ways:
1. No arguments: A single character is taken from the input buffer and discarded: std::cin.ignore(); //discard 1 character 2. One argument: The number of characters specified are taken from the input buffer and discarded: std::cin.ignore(33); //discard 33 characters 3. Two arguments: discard the number of characters specified, or discard characters up to and including the specified delimiter (whichever comes first): std::cin.ignore(26, '\n'); //ignore 26 characters or to a newline, whichever comes first http://www.augustcouncil.com/~tgibson/tutorial/iotips.html Это сообщение отредактировал(а) V_A_KeRneL - 16.12.2006, 02:40 -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |