我最近开始从事一个项目。任务如下: 编写程序以保留体育用品商店中可用物品的列表。对于每个项目,必须存储以下信息:名称,制造商,价格,可用项目。该程序应支持以下功能,作为用户可以选择的文本菜单:
•在列表中输入新项目 •按制造商搜索商品 •按名称对列表中的项目进行排序 •显示列表的当前内容
有人建议我在另一个主题上:
1)对于菜单,您将使一个函数显示信息并在确认输入有效后返回输入。您可以使用按引用传递。如果您还没有学习过函数,请不要打扰。然后只需使用您所说的开关盒即可。
2)对于添加项目,(如果您已经了解,则再次创建一个函数)创建一个临时的ITEMS对象,并向用户询问各种所需的输入,例如价格,然后直接将输入读入该对象(例如cin >> object.price)。获取所有信息后,只需将对象推入我们拥有的向量中即可。
3)要按制造商名称进行搜索,您只需要将给定名称与矢量中每个元素的制造商名称进行比较。
4)根据向量的名称参数对其进行排序。
5)只需打印出向量中每个元素的所有参数即可。
在学习了更多关于它们的信息后,我将创建一个向量,并将在到目前为止已编写的代码下方输入。我在这里的问题是我是否应该遵循上面的五个技巧。如果您认为我不应该,请与其他建议分享您的见解。我知道本主题可能会结束,因为我确实阅读了所有规则,但是某些信息仍然很关键。预先感谢,如果我的这篇论文费时,我感到抱歉。
#include <iostream>
#include <conio.h>
#include <string.h>
#include <dos.h>
#include <vector>
using namespace std;
struct articles
{
char name[20];
char manufacturer[15];
double price;
char available;
};
int main()
{
int choice;
do
{
cout << ("\n ##################################################");
cout << ("\n # Menu #");
cout << ("\n # 1.Enter new article #");
cout << ("\n # 2.List of manufacturers of articles #");
cout << ("\n # 3.Sort articles by name #");
cout << ("\n # 4.Display the current content of the list #");
cout << ("\n # 5. End of program #");
cout <
< ("\n ##################################################") << endl;
cin >> choice;
switch (choice)
{
case 1:
articles newart;
cout << ("Enter a name: ");
cin >> (newart.name);
cout << ("Enter a manufacturer: ");
cin >> (newart.manufacturer);
cout << ("Enter a price: ");
cin >> (newart.price);
cout << ("Enter if its available (y/n): ");
cin >> (newart.available);
cout << ("The new article you've created is the following: \n");
cout << newart.name << endl;
cout << newart.manufacturer << endl;
cout << newart.price << endl;
cout << newart.available << endl;
break;
/* case 2:
//code
break;
case 3:
//code
break;
case 4:
//code
//extra information about the mode and the controller
break;
case 5:
cout << "End of Program.\n";
break;
*/
default:
cout << "Not a Valid Choice. \n"
<< "Choose again.\n";
break;
}
}while (choice != 5);
return 0;
}