Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Описание функции ungetch() - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ сортировка связного списка http://www.cyberforum.ru/cpp-beginners/thread864244.html
Привет всем! пришлите пожалуйста код реализации сортировки односвязного списка (желательно с комментарием)! а то у меня совсем ничего неполучается...
C++ Illegal use of floating point Подскажите в чем может быть дело: int sigmasignal=5,i,j,N=20; float vhmatrica, rsignal; double tsignal=0.2, delta=0.004, sigmafon=0.5; for (i=0;i<N;i++) for (j=0;j<N;j++) ... http://www.cyberforum.ru/cpp-beginners/thread864242.html
C++ Динамические структуры данных: Определить количество иногородних пациентов с диагнозом Х
2. В файле содержатся сведения о пациентах глазной клиники. Структура записи: фамилия пациента, пол, возраст, место проживания (город), диагноз. Считать данные из файла в односвязный линейный список....
В какой среда программирования(или компиляторе) открыть нижеуказанный код? C++
Здравствуйте! Подскажите пожалуйста - в чем открыть этот код(в каком компиляторе, программе через которую скомпилирует без ошибок) ? И желательно проверить, ибо у меня 200 ошибок в с free и...
C++ Динамические структуры данных: Найти скалярное произведение строки с наибольшим элементом и столбца с наименьшим элементом http://www.cyberforum.ru/cpp-beginners/thread864221.html
1. Дана матрица размера N* N (N<=160). Найти скалярное произведение строки с наибольшим элементом и столбца с наименьшим элементом. Заранее спасибо
C++ Перевод из Паскаля в С++ Нужно переделать задачу из Паскаля в С++Builder. Поможете? Вот само задание:Описать функцию PowerA234(A), вычисляющую вторую, третью и четвертую степень числа A и возвращающую эти степени... подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
14.05.2013, 09:18
Mike_device, она возвращает символ обратно в буфер, ваш КЭП.
Поясню. Когда вы используете функции scanf, getch и прочие, вы читаете из буфера, в котором хранится ваш ввод. Допустим, у буфере слово:
"Окей"
После getch в буфере останется "кей", а "О" вернется вам и будет записано (или не записано, смотря как использовали getch).

Представим абстрактную задачу: нам нужно остановить программу, если в буфере встретилось слово с первым символом "д".
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while (true)
{
    char c = getch();
    if (c == 'д')
    {
        cout << wordsCount;
        return 0;
    }
    else
    {
        ++wordsCount;
        ungetch(c); // засунули считанный ранее символ обратно в буфер
        string word;
        cin >> word; // считали нормальное слово
        cout << word;
    }
}
Безусловно, здесь можно было читать слово целиком сразу и проверять его первый символ, но это всего-лишь пример, так что не придирайтесь.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru