Как продолжать читать ввод, пока пользователь хочет? - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь отсортировать массив списка в виде строки в алфавитном порядке. У меня уже есть сортировка по алфавиту, но она работает, пока не введено 6 элементов. Как я могу кодировать это так, чтобы он позволял пользователю вводить столько раз, сколько он хочет, до тех пор, пока он не введет «выход», где программа выведет алфавитный список? Заранее спасибо!

int main(void)
{
const int MAX_LENGTH = 256;
string items [MAX_LENGTH];
int quantities [ MAX_LENGTH];
string itemChoice;
string quantityChoice;
int numberOfItems= 0;

cout <<  " (press enter to begin listing your 
list.): ";
getline(cin, itemChoice);  

cout << itemChoice << endl;
for(int i = 1; i <= 6; ++i)
{
    string itemChoice;
    cout << i << ". ";
    cin >> itemChoice;
    sortedItems.insert(itemChoice);
}
for_each(sortedItems.begin(), sortedItems.end(), &print);    
return 0;      
}

1 Ответ

0 голосов
/ 14 января 2019

Вам нужно сделать цикл бесконечным и выйти из него, когда пользователь введет "exit". Итак, удалите условие цикла и добавьте тест для "exit":

for (int i = 1; ; i++)
{
    string itemChoice;
    cout << i << ". ";
    cin >> itemChoice;
    if (itemChoice == "exit")
    {
        break;
    }
    sortedItems.insert(itemChoice);
}
...