|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.09.2015, 16:46 | #1 |
Пользователь
Регистрация: 23.09.2015
Сообщений: 11
|
Неправильная работа gets() (C++)
Здравствуйте. Такой вопрос:
Код:
Введите дату в формате дд/мм/гг: (ввод текста)23/09/15 Введите пункт назначения: (ввод текста)Москва Введите фамилию и инициалы пассажира: (ввод текста)Иванов И.И. А отрабатывает: Введите дату в формате дд/мм/гг: Введите пункт назначения: Введите фамилию и инициалы пассажира: (и только здесь включается ввод текста)Иванов И.И. Почему, объясните? Последний раз редактировалось Аватар; 23.09.2015 в 17:28. |
23.09.2015, 17:38 | #2 |
Пользователь
Регистрация: 23.09.2015
Сообщений: 11
|
Понял, что буфер клавиатуры уже содержит '\n' и его нужно ощищать с помощью fflush(stdin). Я прав? И есть другие способы решения?
|
23.09.2015, 17:50 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
В моем GCC твой код отработал норм, только я cout на printf заменил, ибо проект не плюсовый сделал.
I'm learning to live...
|
23.09.2015, 17:53 | #4 | |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Используйте fgets, хотя бы чтобы избежать простого "переполнения" буфера.
Цитата:
|
|
23.09.2015, 17:58 | #5 |
Пользователь
Регистрация: 23.09.2015
Сообщений: 11
|
C printf тот же результат.
Эти команды принимают только один символ из потока вроде как. (Хотя возможно я не понял описание) Последний раз редактировалось Stilet; 23.09.2015 в 19:14. |
23.09.2015, 19:15 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
24.09.2015, 01:38 | #7 |
Пользователь
Регистрация: 23.09.2015
Сообщений: 11
|
|
24.09.2015, 07:48 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну не знаю... Замени gets() на getline() наверное. И массив char в твоей структуре на string-и
I'm learning to live...
|
24.09.2015, 16:43 | #9 |
Пользователь
Регистрация: 23.09.2015
Сообщений: 11
|
А string можно както сравнивать (к примеру как для char массивов strcmp())?
|
24.09.2015, 17:40 | #10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Обычным == должно сравниваться.
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
неправильная работа програмы | 3Doleg | Общие вопросы C/C++ | 3 | 23.09.2013 20:10 |
неправильная работа программы... | fkty | Помощь студентам | 4 | 05.06.2013 16:20 |
неправильная работа keybd_event | chertovich | Win Api | 3 | 07.01.2012 14:52 |
неправильная работа программки. | Rafff | Общие вопросы C/C++ | 6 | 05.04.2010 15:16 |
Неправильная работа switch в while | konstantinopol | Общие вопросы C/C++ | 3 | 24.01.2009 03:51 |