Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Проблема из-за \n


Автор: BHYCHIK 3.2.2008, 14:40
Я думаю проблема известная. Смысл такой, как известно при считывании данных в буфере из-за нажатия энтера остаётся символ \n. В итоге он воспринимается как нажатие на энтер при следующем считывании символьных данных. Подскажите как с этим боротся, пробовал после каждого ввода ставить функцию getch() - не помогло. Очень нужна помощь, скоро сдавать курсовик, а без решения этой проблемы не имеет смысла делать прогу дальше.

З.Ы. Извиняюсь, что не воспользовался поиском. Просто не знаю как сформулировать запрос. smile 

Автор: MAKCim 3.2.2008, 15:42
BHYCHIK, 
как считываешь данные?

Автор: BHYCHIK 3.2.2008, 16:57
Через функцию scanf() числовые данные, строки через gets()

Автор: warmonger_ 3.2.2008, 20:02
может это поможет: fflush(stdin);

Автор: BHYCHIK 3.2.2008, 20:35
Цитата(warmonger_ @ 3.2.2008,  20:02)
может это поможет: fflush(stdin);

Огромное спасибо! fflush(stdin); помогло. 
Можешь рассказать что это за функция и что она делает?

Автор: warmonger_ 3.2.2008, 21:12
BHYCHIK, очищает буфер ( в данном случае клавиатуры - страндартного потока ввода ).
http://www.cplusplus.com/reference/clibrary/cstdio/fflush.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)