我正在尝试按字母顺序将字符串形式的列表数组排序。我已经按字母顺序对它进行了排序,但是直到输入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;
}
答案 0 :(得分:0)
您需要使循环无限长,并在用户输入"exit"
时退出循环。因此,删除循环条件并为"exit"
添加一个测试:
for (int i = 1; ; i++)
{
string itemChoice;
cout << i << ". ";
cin >> itemChoice;
if (itemChoice == "exit")
{
break;
}
sortedItems.insert(itemChoice);
}