![]() |
|
Модераторы: bsa |
![]()
|
|
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Простой у меня вопрос.
Вот небольшой примерчик. По нажатию на клавишу "х", - должен быть выход из программы, а почему-то получается зацыклывание. Посмотрел в книге - у меня код 1 в 1 сходится, что я начудил? Спасибо!
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
потому что в x у вас будет перевод каретки (он не попадает в cin>>, а остается в буфере, который и считывает cin.get). Чтобы поправить ситуацию можно сбросить кеш используя cin.sync(); либо std::cin.ignore( std::numeric_limits<std::streamsize>::max(), '\n' ); либо flushall(); передcin.get().
Знающие люди подскажут чем способы отличаются... я использую sync ... Это сообщение отредактировал(а) jonie - 22.4.2010, 20:22 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Хмм, так как поправить в моем случае?
Если вы заметили cin.sync(); у меня стоит после cin.get пробовал ставить и перед, никаких изменений, поставил перед cin.get flushall(); Никаких изменений. Я приблизительно понимаю о чем вы, читал о этом. Но чтоб работало почему то исправить не получается. Спасибо. |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
А если так попробовать? |
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
И так не работает?
Странно, ведь в книге такой пример, - почему он не работает? :(:(:( |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Killer_13
Странно у меня вышел=)я правильно вводил? скрин Это сообщение отредактировал(а) toxx - 22.4.2010, 21:32 |
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Да, но программа после первого цыкла начинает работать неправильно, - тогда нужно вводить 3 числа!
Если первый раз, работатет правильно, - если во второй раз, уже нужно вводить 3 числа. Так быить не должно... |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Killer_13
попробуйте ещё так
|
|||
|
||||
| Killer_13 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 12.1.2008 Где: Germany Репутация: 1 Всего: 1 |
Там путаница какая то получается, - после запроса ввести еще раз вводит и выводит, но в цыкл наверх не идет.
Если нажать х, тогда прокручивает цыкл еще раз, с какой то радости, - нужно разобраться... |
|||
|
||||
![]()
|
| Правила форума "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. |