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