只要用户愿意,如何保持阅读输入?

时间:2019-01-14 03:58:53

标签: c++ alphabetical-sort

我正在尝试按字母顺序将字符串形式的列表数组排序。我已经按字母顺序对它进行了排序,但是直到输入6个项目,它才起作用。我该如何编码,以便它允许用户输入想要的次数,直到他们键入“ exit”,程序将在此输出按字母顺序排列的列表?预先谢谢你!

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 :(得分:0)

您需要使循环无限长,并在用户输入"exit"时退出循环。因此,删除循环条件并为"exit"添加一个测试:

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