На работает getline

246
11 апреля 2018, 09:00

getline срабатывает только на первой итерации.Все осталные пропускается.Все библиотеки подключены

while (1)
{
string select;
print(M);
cout << "Enter names of drink or exit:";
getline(cin, select);
if (select == "exit" || select == "EXIT")
    break;
else
    for (int i = 0; i < size; i++)
        if (M[i].name == select)
        {
            y = i;
            break;
        }
        else if (i == size - 1)
        {
            cout << "Input error\n";
        }
if (y == -1)
    continue;
else
money+=buying(M, y, size);
}
Answer 1

Функция getline читает до первого символа новой строки. Тоесть, если вы хотите ввести несколько слов, то делайте это в одну строку.

READ ALSO
Как работает noexcept в c++?

Как работает noexcept в c++?

Что делает спецификация noexcept? Я думал, что она не позволит функции кинуть исключение, но это не так, функция:

179
VK open api, wall.post невозможно прикрепить фото, почему?

VK open api, wall.post невозможно прикрепить фото, почему?

Отправляю запрос, в переменной data содержится результат вызова метода photossaveWallPhoto, ошибок нет

201
Как изменить id элемента с помощью js

Как изменить id элемента с помощью js

Не получается изменить id элемента

212