![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
jurgal |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 29.6.2007 Репутация: нет Всего: нет |
в первом цикле при вводе информации, getline(cin,name) из метода getdata() выолняется только в первый раз, а в последующих итерациях пропускает его и сразу же предлагает ввести номер(cin >> number;). Если использовать вместо getline(cin,name) просто cin >> name , то все в порядке. В чем ошибка? |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: нет Всего: 92 |
так работает? |
|||
|
||||
papam |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 2.2.2006 Где: Украина::Запорожь е Репутация: 2 Всего: 4 |
Работает:
Это сообщение отредактировал(а) papam - 28.12.2007, 01:13 --------------------
No Fucking Future |
|||
|
||||
jurgal |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 29.6.2007 Репутация: нет Всего: нет |
так работает, спасибо =) papam, но почему не получается одновременно использовать cin и getline? Ведь приходится для номера использовать string, а не long int
так не работает, но за flushall(); спасибо =) , новое узнал. Это сообщение отредактировал(а) jurgal - 29.12.2007, 00:30 |
|||
|
||||
papam |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 2.2.2006 Где: Украина::Запорожь е Репутация: 2 Всего: 4 |
operator>> не извлекает разделители из потока, идущие после вводимой последовательности. Т.е. последовательность операций: getline(cin, name);cin >> number; всегда будет возвращать пустую строку, если после ввода числа был нажат энтер.
А номер можно вводить и строкой. Это сообщение отредактировал(а) papam - 28.12.2007, 11:08 --------------------
No Fucking Future |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
papam, может наоборот getline() читает пустую строку после operator>>()?
чтобы этого не было, нужно сделать так:
|
|||
|
||||
papam |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 2.2.2006 Где: Украина::Запорожь е Репутация: 2 Всего: 4 |
Ошибся с формулировкой!!!
--------------------
No Fucking Future |
|||
|
||||
jurgal |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 29.6.2007 Репутация: нет Всего: нет |
||||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
проверил. действительно глючит. убери >> ws; и поставь внутрь getline(cin, ...):
|
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
jurgal |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 29.6.2007 Репутация: нет Всего: нет |
||||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 6 Всего: 93 |
Да. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |