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

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

Восстановить пароль Регистрация
 
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
08.12.2012, 16:14     Как прервать поток ввода, введя определенный символ? #1
Доброго всем времени суток

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

Как заменить определенный символ на номера попорядку? C++
C++ Введя числа с клавиатуры без ограничения их количества (конец ввода - число ноль), найти сумму положительных и произведение отрицательных чисел
C++ Как можно вывести определенный символ и/или число из введенного пользователем текста?
Как можно сделать виртуальный поток ввода / вывода? C++
C++ Ввести определенный символ, обозначающий конец ввода
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
08.12.2012, 16:52     Как прервать поток ввода, введя определенный символ? #2
Обработка нажатия клавиш-стрелок
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2012, 15:06  [ТС]     Как прервать поток ввода, введя определенный символ? #3
спасибо, да к сожалению прервать можно только нажав Enter, а использование getch() тут не совсем подходит
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
09.12.2012, 15:16     Как прервать поток ввода, введя определенный символ? #4
Почему не подходит? Считывайте по одному символу в цикле, и если введен опредеенный символ, то выходите из цикла. Все считанные символы записываете в строку
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2012, 15:18  [ТС]     Как прервать поток ввода, введя определенный символ? #5
ну например если d = 123, то в массив запишется 3 числа, и как потом быть?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
09.12.2012, 15:24     Как прервать поток ввода, введя определенный символ? #6
Можно так же: сначала запрашиваем число, потом запрашиваем символ через getch().
Но, имхо, лучше все записывать в строку, а потом сделать разбор строки. Мне кажется, что это будет намного лучше.
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2012, 15:26  [ТС]     Как прервать поток ввода, введя определенный символ? #7
Цитата Сообщение от Croessmah Посмотреть сообщение
Можно так же: сначала запрашиваем число, потом запрашиваем символ через getch().
так не работает, поток , к сожалению, не закрывается без Enter, и следовательно до getch() дело не доходит...
ОК, спасибо за мысль с массивом попробую с ним....
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
09.12.2012, 15:30     Как прервать поток ввода, введя определенный символ? #8
Да, действительно, что-то я забыл про enter. Если не ошибаюсь, то getch - это только для винды.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2012, 15:32     Как прервать поток ввода, введя определенный символ?
Еще ссылки по теме:

Как сравнить определенный символ двух строк? C++
C++ Как очистить поток ввода?
C++ Как читает поток ввода cin ?

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

Или воспользуйтесь поиском по форуму:
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2012, 15:32  [ТС]     Как прервать поток ввода, введя определенный символ? #9
к счастью мне как раз для нее родимой

спасибо еще раз =)
жаль, что через потоки нельзя, а то было бы красиво....
Yandex
Объявления
09.12.2012, 15:32     Как прервать поток ввода, введя определенный символ?
Ответ Создать тему
Опции темы

Текущее время: 03:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru