Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
vet
177 / 178 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
1

Как прервать поток ввода, введя определенный символ?

08.12.2012, 16:14. Просмотров 1327. Ответов 8
Метки нет (Все метки)

Доброго всем времени суток

C++
1
2
3
4
5
double d;
char c;
cin >> d;
cin >> c;
cout << c << d;
Я ввожу число, которое записывается в d, а затем ввожу символ '=', как сделать так чтобы при вводе '=' поток ввода закрывался, без нажатия Enter в конце ввода, и на экран выводилось сообщение?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 16:14
Ответы с готовыми решениями:

Как вернуть символ обратно в поток ввода
Добрый день. Подскажите, пожалуйста, аналог функции cin.putback() из C++, которая возвращает...

Как прервать поток C#
Здравствуйте,помогите прервать выполнение программы.

Ввести определенный символ, обозначающий конец ввода
В общем мне нужно после нажатия на определённый символ допустим это &quot;h&quot; срабатывало действия, и что...

Как прервать поток SerialPort?
Здравствуйте. Разрабатываю программу для считывания информации по USB с внешних устройств. ...

8
Croessmah
++Ͻ
16221 / 9311 / 1784
Регистрация: 27.09.2012
Сообщений: 22,981
Записей в блоге: 2
Завершенные тесты: 2
08.12.2012, 16:52 2
Обработка нажатия клавиш-стрелок
1
vet
177 / 178 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2012, 15:06  [ТС] 3
спасибо, да к сожалению прервать можно только нажав Enter, а использование getch() тут не совсем подходит
0
Croessmah
++Ͻ
16221 / 9311 / 1784
Регистрация: 27.09.2012
Сообщений: 22,981
Записей в блоге: 2
Завершенные тесты: 2
09.12.2012, 15:16 4
Почему не подходит? Считывайте по одному символу в цикле, и если введен опредеенный символ, то выходите из цикла. Все считанные символы записываете в строку
0
vet
177 / 178 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2012, 15:18  [ТС] 5
ну например если d = 123, то в массив запишется 3 числа, и как потом быть?
0
Croessmah
++Ͻ
16221 / 9311 / 1784
Регистрация: 27.09.2012
Сообщений: 22,981
Записей в блоге: 2
Завершенные тесты: 2
09.12.2012, 15:24 6
Можно так же: сначала запрашиваем число, потом запрашиваем символ через getch().
Но, имхо, лучше все записывать в строку, а потом сделать разбор строки. Мне кажется, что это будет намного лучше.
0
vet
177 / 178 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2012, 15:26  [ТС] 7
Цитата Сообщение от Croessmah Посмотреть сообщение
Можно так же: сначала запрашиваем число, потом запрашиваем символ через getch().
так не работает, поток , к сожалению, не закрывается без Enter, и следовательно до getch() дело не доходит...
ОК, спасибо за мысль с массивом попробую с ним....
0
Croessmah
++Ͻ
16221 / 9311 / 1784
Регистрация: 27.09.2012
Сообщений: 22,981
Записей в блоге: 2
Завершенные тесты: 2
09.12.2012, 15:30 8
Да, действительно, что-то я забыл про enter. Если не ошибаюсь, то getch - это только для винды.
0
vet
177 / 178 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2012, 15:32  [ТС] 9
к счастью мне как раз для нее родимой

спасибо еще раз =)
жаль, что через потоки нельзя, а то было бы красиво....
0
09.12.2012, 15:32
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2012, 15:32

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как активизировать ячейку с именем введя имя через окно ввода?
Как активизировать ячейку с именем введя имя через окно ввода?

Как прервать поток данных запущенных через ajax
Всем привет у меня такой вопрос? Запущен поток данных из файла через ajax, данные идут раз в...

Какая функция объекта cin позволяет вставить символ в поток ввода?
Какая функция обьекта cin позволяет вставить символ в поток ввода?Пример,если можно.

Как прервать цикл ввода вещественных чисел, если была введена *?
Как прервать цикл при вводе *? Написал тут, видимо, глупость. Не работает. #include &lt;stdio.h&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.