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

Не выходит из цикла ввода - C++

Восстановить пароль Регистрация
 
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
22.06.2012, 15:16     Не выходит из цикла ввода #1
Прочитайте некоторый текст, сохраняя каждое введенное слово как отдельный элемент вектора. Преобразуйте символы каждого слова в прописные. Отобразите преобразованный текст выводя по 8 слов в строке

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <string>
#include <vector>
 
using namespace std;
int main()
{
    vector<string> cet;
    string n;
    while (cin >>n) {
        cet.push_back(n);
    }   
    for(int i=0;i!=cet.size();i++) {
        for(int y=0;y!=cet[i].size();y++) {
            if (islower(cet[i][y])) {
                toupper(cet[i][y]);
            }
        }
        cout << cet[i] << " ";
        if (i&8) { 
            cout << endl;
        }
    }
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
22.06.2012, 15:26     Не выходит из цикла ввода #2
А какое у цикла ввода условие выхода?
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
22.06.2012, 15:32  [ТС]     Не выходит из цикла ввода #3
ну допустим если с цифрами осуществлять такой ввод то он выходит если нажать Ctrl+D, а тут он эту комбинацию записывает в вектор
Миниатюры
Не выходит из цикла ввода  
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
22.06.2012, 15:36     Не выходит из цикла ввода #4
Сделай по до другому с помощью do while
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
22.06.2012, 15:41  [ТС]     Не выходит из цикла ввода #5
Цитата Сообщение от David Sylva Посмотреть сообщение
Сделай по до другому с помощью do while
у меня еще этого не было в книге ) он используется так же как в JavaScript ?

C++
1
2
3
4
do {
cin >> n;
cet.push_back(n);
} while (!n.empty());
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
22.06.2012, 15:42     Не выходит из цикла ввода #6
Если в Windows, то нужно вводить ctr+z
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
22.06.2012, 15:44  [ТС]     Не выходит из цикла ввода #7
Цитата Сообщение от Toshkarik Посмотреть сообщение
Если в Windows, то нужно вводить ctr+z
пробовал тоже эффекта нету.

а если при вводе вектора целочисленных значений при ctrl+z выдает ошибку, с ctrl+d все нормально
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
22.06.2012, 15:48  [ТС]     Не выходит из цикла ввода #8
в таком виде при ctrl+z он вообще зацикливается и постоянно добавляет в вектор ^Z
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <string>
#include <vector>
 
using namespace std;
int main()
{
    vector<string> cet;
    string n;
    do{
        cin >>n;
        cet.push_back(n);
    }while (!n.empty());
    for(int i=0;i!=cet.size();i++) {
        for(int y=0;y!=cet[i].size();y++) {
            if (islower(cet[i][y])) {
                cet[i][y] = toupper(cet[i][y]);
            }
        }
        cout << cet[i] << " ";
        if (i&8) { 
            cout << endl;
        }
    }
    return 0;
}
Миниатюры
Не выходит из цикла ввода  
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
22.06.2012, 15:48     Не выходит из цикла ввода #9
Как нет эффекта? Что при этом происходит? У меня все нормально отрабатывает:
Миниатюры
Не выходит из цикла ввода  
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
22.06.2012, 15:49     Не выходит из цикла ввода #10
Дык, зачем Вы меняли вообще свой изначальный код, верните тот, что в первом посте, там ввод будет прерываться при нажатии ctrl + z
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2012, 15:53     Не выходит из цикла ввода
Еще ссылки по теме:

При выполнении условия не выходит из цикла C++
когда выходит из цикла C++
Не выходит из цикла C++

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

Или воспользуйтесь поиском по форуму:
DaskOFF
 Аватар для DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
22.06.2012, 15:53  [ТС]     Не выходит из цикла ввода #11
вот в чем ошибка была, я на той же строке ставил символ конца строки, а не на новой
писал "hello world ^Z"

спасибо за помощь
Yandex
Объявления
22.06.2012, 15:53     Не выходит из цикла ввода
Ответ Создать тему
Опции темы

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