![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 29.10.2011
Сообщений: 52
|
![]()
#Проверка потока ввода, зацикливание
Здравствуйте, столкнулся с такой проблемой, что вот ниже приведенный код выводит постоянно текст (который в printf-е), если ввести НЕ число, т.е. любое другое значение, а когда вводишь значение int, то все хорошо. Будто scanf не хочет снова считывать строчку, которую должен пользователь ввести, т.е. она уже что-то хранит и оно его проверяет опять и опять, хотя вроде очищаю поток после прохода цикла. Код:
Последний раз редактировалось Євгеній Бєлік; 11.11.2015 в 00:32. |
![]() |
![]() |
![]() |
#2 |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
fflush примененный к stdin влечет к неопределенному поведению. эта функция применяется только к output потокам. вручную вычитай весь мусор из потока.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 29.10.2011
Сообщений: 52
|
![]()
кому будет интересно, вот решение получилось таким образом:
Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка ввода | Mixasnt | JavaScript, Ajax | 4 | 23.01.2014 21:07 |
Форматирование ввода в колонку dataGridView и проверка правильности ввода | tumanovalex | C# (си шарп) | 1 | 31.05.2011 19:56 |
Проверка ввода | Darth_Programmeder | Помощь студентам | 6 | 14.04.2010 16:19 |
Проверка ввода | Paul_AG | Общие вопросы C/C++ | 16 | 11.06.2009 16:56 |
Проверка ввода | Panda | Помощь студентам | 2 | 08.07.2008 19:23 |