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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VipeR_SeD
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 9
#1

Окончание ввода - C++

05.05.2013, 10:20. Просмотров 487. Ответов 6
Метки нет (Все метки)

Здравствуйте. Возникла проблема как окончить заполнение вектора по нажатию определенной клавиши? (В данном случае "Enter".

C++
1
2
3
4
5
6
do
    {
    cin >> q;
    Mass.push_back(q);
    }
    while(q!='\n');
Собственно что должно быть в while() ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2013, 10:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Окончание ввода (C++):

Окончание ввода в vector<int> по '\n' - C++
Как реализовать ввод данных с клавы в vector&lt;int&gt;, так, чтобы ввод оканчивался по нажатию Enter? Мой вариант int main() { int...

Ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности - C++
Ввести последовательность чисел (окончание ввода - 0) и вывести их в обратной последовательности. Это рекурсия , как будет правильно ее...

Как спростить код ? рекурсия (ввести последовательность чисел (окончание ввода - 0) и вывести их вобратной последовательности) - C++
#include &lt;iostream&gt; using std::cout; using std::endl; using std::cin; const int n=100; int arr = {}; int i = 0; int count...

Окончание файла - C++
Доброго вечера! В тхт файле всего одна строка из 12 символов- 12 байт. Пытаюсь ее прочитать но читается она только с лишними каракулями в ...

Окончание W и A в функциях - C++
Привет. Объясните пожалуйста допустим: GetCurrentDirectoryW (Unicode) and GetCurrentDirectoryA (ANSI) - это понятно. А обычная...

Проверка на окончание файла - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;typeinfo&gt; #include &lt;cstdlib&gt; using namespace std; const int size = 100; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Svyatoslav7
18 / 18 / 8
Регистрация: 19.08.2012
Сообщений: 281
05.05.2013, 11:11 #2
што б закончить програму на Enter необходимо сначало сканировать нажатие клавиш ..... тогда взять скан код клавиши Enter .... у вашем случае
C++
1
while(k!=13)
k - ето отканованая клавиша наша.... в нашем случае ето Enter

Добавлено через 7 минут
но как сканировать клавишу я не вкурсе( только начал изучать с++
VipeR_SeD
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 9
05.05.2013, 12:24  [ТС] #3
Видел где-то подобное
Код
while((cin)!='\n')
Но так не подходит.
Как что то подобное сделать?
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
05.05.2013, 12:44 #4
Вы хотите чтоб цикл останавливался когда пользователь нажмет Enter как-то так?
Somebody
2788 / 1602 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
05.05.2013, 13:08 #5
C++
1
2
3
4
do
{
...
} while (cin.get() != '\n');
Это?
VipeR_SeD
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 9
05.05.2013, 13:18  [ТС] #6
Цитата Сообщение от Somebody Посмотреть сообщение
C++
1
2
3
4
do
{
...
} while (cin.get() != '\n');
Это?
Да,спасибо

Но почему при выполнении:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>;
 
#include <vector>;
 
using namespace std;
 
int main ()
{
    setlocale(LC_ALL,"Rus");
    vector<char>Mass;
    char q;
    int i,o=0;
    cout << "Добро пожаловать в программу!" << endl;
    cout << "Введите символы для заполнения вектора." << endl << "Остановка заполнения происходит при нажатие на 'Enter'." << endl;
    do
    {
    cin >> q;
    Mass.push_back(q);
    }
    while (cin.get() != '\n');
    cout << "Test";
}
Не выдает "тест"? Где то ошибка?
Somebody
2788 / 1602 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
05.05.2013, 18:04 #7
Не знаю, всё нормально выдаёт.

Добавлено через 4 часа 37 минут
А, не обратил внимания, что там char'ы вводятся - тогда тут get() съедает символы. Надо или peek() вместо get(), или если нужны все символы вместе с пробельными, то вводить их не >>, а get()'ом, и тогда можно сравнивать q с '\n'.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2013, 18:04
Привет! Вот еще темы с ответами:

Окончание связанного списка - C++
Скажите, пожалуйста, как в моём случае можно поступить: выйти из цикла, если нажатием Enter ничего не вводится и выдавать ошибку, если...

Окончание слова - xyz (СИ) - C++
Приветствую. Нужно сделать программу, которая бы выводила на экран слова, окончания которых - xyz. Программу нужно сделать при помощи...

Неожиданное окончание файла - C++
Требуется организовать побитовое чтение файла (формат .dat) и компоновка (перестановка 2-х бит) в массив. Написал код. Возникла проблема:...

Подобрать верное окончание числительного - C++
помогите решить задачи на C++ условный оператор!! Бизнесмен Василий после прочтения известной книги решил открыть новый бизнес –...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.05.2013, 18:04
Ответ Создать тему
Опции темы

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