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

Очистка потока ввода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести для указанного города максимальное количество пассажиров, прибывших на разных автобусах http://www.cyberforum.ru/cpp-beginners/thread1154996.html
На автовокзале в ЭВМ хранится информация об автобусных рейсах: номер рейса, пункты отправления и назначения, время прибытия и отправления, тип автобуса (ПАЗ, ЛАЗ, ЛиАЗ, Икарус). Для каждого типа автобуса известна его пассажировместимость (она хранится в специальном массиве). Ввести информацию об N рейсах (N выбрать самостоятельно) и вывести для указанного пункта назначения максимальное количество...
C++ Используя класс stack, напишите функцию loadstack Используя класс stack, напишите функцию loadstack(), которая бы возвращала стек, заполненный буквами алфавита (a-z). В вызывающей программе присвойте этот стек другому объекту и докажите, что и в этом объекте находится алфавит. (Замечание. Удостоверьтесь, что длина стека достаточна для хранения алфавита.) заранее Спасибо! http://www.cyberforum.ru/cpp-beginners/thread1154987.html
C++ Вложенный цикл и списки. Поиск одинаковых
MNOZ *per(MNOZ *S1, MNOZ *S2, MNOZ *S3) //Пересечение { MNOZ *cur1=NULL; for(; S1!=NULL; S1->next) for(; S2!=NULL; S2->next) { if(S1->data == S2->data ){ cur1=AddAfterCur(S3, cur1, S1->data);
C++ Заменить все элементы массива, меньшие заданного числа, этим числом
I. Дана последовательность целых чисел. Замечание. Использовать двумерный массив. Количество строк и столбцов двумерного массива вводится с клавиатуры. Заменить все элементы, меньшие заданного числа, этим числом
C++ Как использовать функцию Kbhit()? http://www.cyberforum.ru/cpp-beginners/thread1154960.html
Как я понял, то функция kbhit() сохраняет значение нажатой клавиши в буфере. Подскажите, как получить это значение из буфера. Мне необходимо это, чтобы в дальнейшем присвоить значение переменной. Пробовал так char a=getch() ,но так цикл останавливается,пока не нажму клавишу.
C++ Поиск одинаковых элементов в двусвязном списке Здравствуйте уважаемые форумчане. Вопрос в следующем: есть двусвязный список, в котором необходимо реализовать модуль перемещения одинаковых элементов в конец списка. Не могу переместить элементы... Прошу помощи... #include <stdlib.h> #include <iostream> using namespace std; struct Node //Структура являющаяся звеном списка { int x; //Значение x будет передаваться в... подробнее

Показать сообщение отдельно
eugrita
3 / 4 / 0
Регистрация: 18.11.2009
Сообщений: 405
23.04.2014, 11:31     Очистка потока ввода
Собственно тема подымалась в интернете, но внятного объяснения я не получил.
Для ввода строки с пробелами использую cin.getline()
Если ввод первый то нормально работает и печатает что вводит
C++
1
2
3
4
5
 char c; char s[15];
  cout.flush();
  cout<<"vvesti text <=50\n";
  cin.getline(s, 50);
  cout >>s;
но если зацикливать,
C++
1
2
3
4
5
6
7
8
 char c; char s[15];
  while(1==1) {
  cout <<"\n0-Vixod\n"; cin>>c;
  if (c=='0') break;
  cout.flush();
  cout<<"vvesti text <=50\n";
  cin.getline(s, 50);
             }
то cin.getline срабатывает не дожидаясь ввода пользователя. Этому не препятствует и cout.flush();-собственно это очистка выходного потока а надо чистить входной- но метода flush для cin нет.
В этом ли дело? Как исправить ситуацию?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru