С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
mskoromets
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 130
Завершенные тесты: 2
1

Остановка ввода типа string в цикле

10.01.2017, 22:14. Просмотров 907. Ответов 5
Метки нет (Все метки)

Здравствуйте. Хочу задать вопрос: как остановить ввод в цикле типа string данным способом. Если такое не возможно то предложите другой простой способ остановить ввод(про горячие клавиши знаю, но иртересно узнать другой способ)
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
   #include <iostream>
#include <vector>
#include <conio.h>
using namespace std;
int main()
{
vector<string> words;
    char exit = '@';
    string word = " ";
    while(cin >> word)
    words.push_back(word);
    if(word == exit)
    {
    for (int i = 0; i < words.size(); i++)
    cout << words[i] << endl;
    }
    
    
getch();
return 0;
(Этот код не компилируется, выдает километровые пояснения на египетско-китайском языке)
 
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2017, 22:14
Ответы с готовыми решениями:

Считать в переменную типа string определенное количество символов из потока ввода
Подскажите, пожалуйста, есть ли такая функция или что, чтобы я мог считать в...

Перегрузка потокового ввода/вывода для класса с полем типа string
Возможно ли перегрузить &gt;&gt; и &lt;&lt; или придётся заменить переменную string на...

Присвоение объекту типа string рандомный элемент из массива типа string
Добрый вечер, дорогие форумчане. Я столкнулся с проблемой. Как присвоить...

Open Watcom нет перегрузки для оператора ввода для типа std::string
Решил использовать компилятор Open Watcom C++ и в результате не компилируется...

Здравствуйте! Создал класс std::string. Не создается объкт типа string... Подскажите в чем причина?
#include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;string.h&gt; //using...

5
FateOri
152 / 148 / 42
Регистрация: 06.01.2017
Сообщений: 2,004
Завершенные тесты: 2
10.01.2017, 22:27 2
может пишу не то но вроде для ввода строки с консоли в С++ нужно использовать getline:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// extract to string
#include <iostream>
#include <string>
 
int main ()
{
  std::string name;
 
  std::cout << "Please, enter your full name: ";
  std::getline (std::cin,name);
  std::cout << "Hello, " << name << "!\n";
 
  return 0;
}
http://www.cplusplus.com/reference/string/string/getline/
0
zss
Модератор
Эксперт С++
7504 / 6863 / 4334
Регистрация: 18.12.2011
Сообщений: 18,168
Завершенные тесты: 1
10.01.2017, 22:40 3
Лучший ответ Сообщение было отмечено mskoromets как решение

Решение

Цитата Сообщение от mskoromets Посмотреть сообщение
if(word == exit)
Вы хотели сделать выход по слову "exit"?
Только внесите условие внутрь цикла и "exit" в кавычках:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
    vector<string> words;
    string word;
    while(cin >> word)
    {
        words.push_back(word);
        if(word == "exit")
            break;
    }
    for (vector<string>::iterator i=words.begin();i!=words.end();++i)
            cout << *i << endl;
    system("pause");
    return 0;
}
1
mskoromets
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 130
Завершенные тесты: 2
10.01.2017, 22:49  [ТС] 4
Большое спасибо, помогло а где можно подробнее узнать про "brake", который останавливает ввод?

Добавлено через 2 минуты
И да, когда я вывожу на экран значения вектора то "exit" является последним эллементом вектора, как его удалить?
0
nd2
2838 / 2405 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
10.01.2017, 22:53 5
Цитата Сообщение от mskoromets Посмотреть сообщение
И да, когда я вывожу на экран значения вектора то "exit" является последним эллементом вектора, как его удалить?
Перенеси words.push_back(word); ниже break.
1
mskoromets
6 / 6 / 3
Регистрация: 29.12.2016
Сообщений: 130
Завершенные тесты: 2
10.01.2017, 22:57  [ТС] 6
Благодарю
0
10.01.2017, 22:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2017, 22:57

Запись информации из вектора типа string в вектор типа double
Как записать только числа , которые хранятся в векторе типа стринг, в вектор...

Читать строку типа string из файла, разбить ее на массив слов типа char
Нужно сделать так что бы строчка вида &quot;&lt;слово1&gt;:&lt;слово2&gt;:&lt;слово3&gt;:&lt;слово4&gt;&quot; ,...

Как работать с типом string в цикле на С++
Доброго времени суток, и с Наступающим всех! Вопрос в том, как реализовать...


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

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

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