超市管理系统C++.docx
- 文档编号:2830744
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:22
- 大小:298.41KB
超市管理系统C++.docx
《超市管理系统C++.docx》由会员分享,可在线阅读,更多相关《超市管理系统C++.docx(22页珍藏版)》请在冰豆网上搜索。
超市管理系统C++
C++程序设计课程设计报告
————超市管理系统
班级:
一.设计题目与要求…………………………………
二.需求分析………………………………………………
三.概要设计…………………………………
四.详细设计……………………………………………
五.测试………………………………………………
六.结论及改进设想…………………………………
一、课程设计题目与要求
1.设计题目
超市管理系统
2.系统功能要求
(1)销售功能。
购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。
如果有库存量,输入购买的数量,进行相应计算。
如果库存量不够,给出提示信息,结束购买。
(2)商品简单管理功能。
①添加功能:
主要完成商品信息的添加。
②查询功能:
可按商品类别、商品名称、生产厂家进行查询。
若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!
”。
③修改功能:
可根据查询结果对相应的记录进行修改。
④删除功能:
主要完成商品信息的删除。
先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。
(3)统计功能。
输出当前库存中所有商品的总数及详细信息;
可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。
(4)保存功能:
将当前程序中的商品信息存入文件中。
(5)读取功能:
从文件中将商品信息读入程序。
二.需求分析
中小型超市采购的商品一般都成千上万件。
对这些商品进行有效的管理必不可少。
每件商品一般都需要记录商品名、条形码、类别、价格、出厂日期等商品的基本信息。
除此之外,还需要记录商品的其他相关信息,如生产厂家、供货处代码、厂家网址、厂家电话等。
超市商品的相关信息需要存储到文件系统中,一般都需要提供对商品信息的添加、编辑、删除等操作。
超市管理员每天都会记录购进的商品信息,核销过期的商品等。
为了巩固我们所学的C++语言程序设计知识,也为了满足课程设计的要求,我们在对几个中小型超市进行调研的基础上,设计和实现一个小型的超市商品管理系统,提供商品系统的添加、删除、编辑等功能。
同类系统多数使用结构体数组来操作数据,本系统使用链表结构操作数据,提高了数据处理的效率。
三.概要设计
1增加商品
2显示商品
3排序统计商品
4查找商品
5删除商品
6修改商品
7安全退出
四.详细设计
1.设计classSupermarket商品类,实现对商品信息的描叙;设计classSupermarketmassage类,实现对商品信息的增加,删除,修改,查询,统计等。
以下是函数功能表:
函数
功能
voidDisplay()
输出商品的信息
Supermarket()
构造函数
~Supermarket()
析构函数
voidAddItem()
增加商品
voidRemoveItem()
删除商品
voidModifyItem()
修改商品
voidFind()
查询商品
intListCount()
统计商品
voidSave()
基础数据存盘
voidSort()
排序商品
Supermarketmassage()
构造函数
(1)用类的成员函数对链表的数据进行操作,其功能如上表所列。
2.设计类及对象
本程序定义了两个类,定义如下:
1)classSupermarket
classSupermarket
{public:
charname[20];
charNum[20];
intCnum;//进货总数
intMnum;//销售数目
intEnum;//剩余库存数目
doublePrice;//单价
charAdd[20];//产地
doubleSum;//销售额
Supermarket*Next;
voidInput()
{
cout<<"\t\t请输入商品名:
";cin>>name;
cout<<"\t\t请输入商品编号:
";cin>>Num;
cout<<"\t\t请输入商品进货总数:
";cin>>Cnum;
cout<<"\t\t请输入商品销售数目:
";cin>>Mnum;
cout<<"\t\t请输入商品剩余库存数目:
";cin>>Enum;
cout<<"\t\t请输入商品产地:
";cin>>Add;
cout<<"\t\t请输入商品单价:
";cin>>Price;
Sum=Mnum*Price;
}
voidReadFile(istream&in)//文件指针
{
in>>name>>Num>>Cnum>>Mnum>>Enum>>Add>>Price>>Sum;
}
voidShow()
{
cout<<"商品名:
"< <<"商品编号: "< <<"进货总数: "< <<"销售数目: "< <<"剩余库存: "< <<"产地: "< <<"单价: "< <<"销售额: "< < } }; 2)classSupermarketmassage; classSupermarketmassage { public: Supermarketmassage(); ~Supermarketmassage(); voidShowMenu(); voidFind(); voidSave(); voidModifyItem(); voidRemoveItem(); voidSwap(Supermarket*,Supermarket*); voidSort(); //voidUnpass(); intListCount(); //voidAverage(); voidDisplay() { for(Supermarket*p=Head->Next;p! =End;p=p->Next) p->Show();cout<<"输入任意字符! 继续……"; getch(); } voidAddItem() { End->Input(); End->Next=newSupermarket; End=End->Next; cout<<"添加成功! "< 继续……"; getch(); } private: Supermarket*Head,*End; ifstreamin; ofstreamout; Supermarket*FindItem(char*name) { for(Supermarket*p=Head;p->Next! =End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 if(! strcmp(p->Next->name,name))returnp; returnNULL; } Supermarket*FindNum(char*Num) { for(Supermarket*p=Head;p->Next! =End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 if(! strcmp(p->Next->Num,Num))returnp; returnNULL; } Supermarket*FindAdd(char*Add) { for(Supermarket*p=Head;p->Next! =End;p=p->Next)//匹配成功则返回上一个指针,不成就返回空 if(! strcmp(p->Next->Add,Add))returnp; returnNULL; } }; 3.程序源代码 #include #include #include #include usingnamespacestd; //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Supermarket类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ classSupermarket {public: charname[20]; charNum[20]; intCnum;//进货总数 intMnum;//销售数目 intEnum;//剩余库存数目 doublePrice;//单价 charAdd[20];//产地 doubleSum;//销售额 Supermarket*Next; voidInput() { cout<<"\t\t请输入商品名: ";cin>>name; cout<<"\t\t请输入商品编号: ";cin>>Num; cout<<"\t\t请输入商品进货总数: ";cin>>Cnum; cout<<"\t\t请输入商品销售数目: ";cin>>Mnum; cout<<"\t\t请输入商品剩余库存数目: ";cin>>Enum; cout<<"\t\t请输入商品产地: ";cin>>Add; cout<<"\t\t请输入商品单价: ";cin>>Price; Sum=Mnum*Price; } voidReadFile(istream&in)//文件指针 { in>>name>>Num>>Cnum>>Mnum>>Enum>>Add>>Price>>Sum; } voidShow() { cout<<"商品名: "< <<"商品编号: "< <<"进货总数: "< <<"销售数目: "< <<"剩余库存: "< <<"产地: "< <<"单价: "< <<"销售额: "< < } }; //﹌﹌﹌﹌﹌﹌﹌﹌﹌Supermarketmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ classSupermarketmassage { public: Supermarketmassage(); ~Supermarketmassage(); voidShowMenu(); voidFind(); voidSave(); voidModifyItem(); voidRemoveItem(); voidSwap(Supermarket*,Supermarket*); voidSort(); //voidUnpass(); intListCount(); //voidAverage(); voidDisplay() { for(Su
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统 C+
![提示](https://static.bdocx.com/images/bang_tan.gif)