С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 1 / 1
Регистрация: 04.11.2020
Сообщений: 7
1

Не работает getline()

04.11.2020, 15:27. Показов 957. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите, если можете.
При ручном введении строки getline() просто пропускается

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "ru");
    int a;
    int b;
    string A;
    cout << "Menu" << endl;
    cout << "Выберите нужное:" << endl;
    cout << "1. Ручной ввод"<<endl<<"2. Выбор из каталога" << endl << "3. Выход из программы" << endl;
    cin >> a;
    switch (a)
    {
       case 1:
       {
        cout << "Введите строку:" << endl;
        getline (cin, A);
        break;
       }
       case 2:
       {
           cout << "1.  "<< endl <<"2.  "<< endl <<"3.  "<< endl <<"4.  "<< endl <<"5. "<< endl;
           break;
       }
       case 3:
       {
           return 0;
       }
       default:
       {
           cout << "ОШИБКА!!!" << endl << "Введите корректное число";
           return 0;
       }
    }
    if (a == 2)
    {
        cout << "Выберите текст:" << endl;
 
        cin >> b;
        switch (b)
        {
        case 1:
        {
            A = " ";
            cout << A << endl;
            break;
        }
        case 2:
        {
            A = " ";
            cout << A << endl;
            break;
        }
        case 3:
        {
            A = " ";
            cout << A << endl;
            break;
        }
        case 4:
        {
            A = " ";
            cout << A << endl;
            break;
        }
        case 5:
        {
            A = " ";
            cout << A << endl;
            break;
        }
 
        default:
        {
            cout << "OШИБКА" << endl;
        }
        }
    }
    char rc = '(';
    char lc = ')';
    char rk = '[';
    char lk = ']';
    for (int i = 0; i<A.length(); i++)
    {
        if (rc==A[i])
        {
            A[i] = rk;
        }
        if (lc==A[i])
        {
            A[i] = lk;
        }
        
    }
    cout <<endl<<"Измененная строка:" <<endl << A;
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2020, 15:27
Ответы с готовыми решениями:

Не работает getline()
Здравствуйте, есть такой код: bool Library::AddNewBook() { bool repeat = true; char answer;...

Не работает getline
Добрый вечер! Пишу курсовую, подскажите пожалуйста: 1. Почему после помещения в switch перестал...

Не работает getline!
Добрый день! Выполняю задания по учебнику Стивена Праты (глава 5, задание 7). Когда программа...

Не работает getline()
Это часть из моего курсового, почему-то когда я запрашиваю заполнение структуры, то на то, что...

1
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.11.2020, 15:41 2
Лучший ответ Сообщение было отмечено _Ankor_ как решение

Решение

после ввода cin >> a; в потоке остаётся символ \n. чтобы вводилась строка поставьте перед getline строку:
C++
1
cin.ignore();
1
04.11.2020, 15:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2020, 15:41
Помогаю со студенческими работами здесь

Не работает getline();
Всем доброго дня:) Не работает кусочек кода: class Employee { private: string name;

Не работает getline
Есть прога, которая считает предложения и выводит самое длинное.Есть главный кейс с меню. В первом...

Не работает getline
Привет всем! непонимаю почему не работает getline. вот код #include &lt;training.h&gt; #include...

Не работает getline()
У меня есть класс, в котором в функции printPaste считывается строка пользователем. При вызове этой...

Не работает getline!
Почему-то, когда ввожу строку с помощью cin.getline, всё равно строка записывается до первого...

не работает getline
Есть код (писал не я), но не могу понять, почему getline() игнорируется в строке 72. Сначала не...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru