C“加”“加”实训报告——超市库存管理系统.docx

上传人:牧羊曲112 文档编号:2011240 上传时间:2022-12-31 格式:DOCX 页数:47 大小:347.76KB
返回 下载 相关 举报
C“加”“加”实训报告——超市库存管理系统.docx_第1页
第1页 / 共47页
C“加”“加”实训报告——超市库存管理系统.docx_第2页
第2页 / 共47页
C“加”“加”实训报告——超市库存管理系统.docx_第3页
第3页 / 共47页
C“加”“加”实训报告——超市库存管理系统.docx_第4页
第4页 / 共47页
C“加”“加”实训报告——超市库存管理系统.docx_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《C“加”“加”实训报告——超市库存管理系统.docx》由会员分享,可在线阅读,更多相关《C“加”“加”实训报告——超市库存管理系统.docx(47页珍藏版)》请在三一办公上搜索。

1、实训报告题 目: 超市库存管理院 系: 专 业: 姓 名: 学 号: 指导教师: 日 期: 目 录一、 课题设计1. 设计目的2. 设计要求二、需求分析三、系统设计 1.系统采用的关键技术 2.主要类的说明 3. 系统模块图 4. 函数清单 5. 详细设计五、测试六、设计心得七、附录(源程序)4一 课题设计1. 设计目的:(1) 熟悉C+中类的概念、类的封装、继承的实现方式。(2) 了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程。(3) 深对C+的理解与Visual C+环境的使用。(4) 逐步熟悉程序设计的方法,并养成良好的编程习惯。2. 设计要求:(1)

2、 源程序要有适当的注释,使程序容易阅读。(2) 必须用C+中的类,要求命令行界面用文件保存,不得把用数组保存和文件保存相混淆。(3) 设计系统要求用C+语言。(4) 设计的系统不仅要具备四个基本功能增、删、改、查,还要具备“货物的有关信息数据存盘”的功能。因此,货物的有关信息数据既可以保存到磁盘文件,今后也可以从磁盘文件随时读出货物的有关信息。这样做,不仅方便用户使用,也可以避免数据录入。同时为了考虑到系统实现简洁,货物数据文件采用文本文件,货物数据文件名:date.dat。二、 需求分析随着现代生活水平的提高,超市这种便利的服务逐渐与我们的生活息息相关,如何更便利地对超市进行系统和有序的操作

3、,成为了我们需要考虑的问题。本程序运用C+程序设计了一个超市库存管理系统。作为一个完整的系统,除了具有增加货物,删除货物的信息模块,还应该具有修改货物相关信息的功能。所以本系统具备了“商品入库”、“商品出库”、“查询统计”、“商品破损”、“退出系统”这5个基本功能,还可以在相应的硬盘上进行存盘以防止部分数据的丢失。这样一来,就可以用最简洁的方式实现对货物的管理,也就实现了系统的要求。3、 系统设计 1. 系统采用的关键技术a.仓库管理员类class adminpublic:admin();private:string name;b.仓库货架类class shelfpublic:shelf();

4、private:admin men;/管理员string storeNo;/仓库编号string kinds;/商品大类string shelfNo;/货架号;2.主要类的说明(1)使用面向对象的程序设计进行分析,整个系统涉及两大类可操作,仓库、商品。所以系统主要涉及两大类:仓库类、商品类。(2)系统框架就是仓库类和商品类的定义。(3)主函数中定义一个仓库对象,循环显示主菜单并根据用户选择调用仓库类的相应方法(成员函数)。(4)考虑系统操作的货物信息具有不确定性,所以考虑使用链表保存、处理货物信息。(5)仓库类包含:所有货物信息的一个不带头结点的链表及可以对货物信息进行增,改,删除,查询,数量

5、设置,数据存盘等操作的相关模块为成员函数。所有货物都具有的公共信息及操作可以使用仓库类进行描述。(6)仓库类包含:所有货物信息的一个不带头结点的链表及可以对货物信息进行增,改,删除,查询,数量设置,数据存盘等操作的相关模块为成员函数。所有货物都具有的公共信息及操作可以使用仓库类进行描述。(7)退出系统:选择该项,自动退出该系统。3. 系统模块图4. 函数清单:(1) 首页函数:first_face(); (2) 入库函数:in_storage(); (3) 出库函数:out_storage(); (4) 查询函数:void select_ele(); /查询 A.按商品名称查函数:void s

6、elect_name(); B.按商品价格查询函数:select_price(); C.按大类查询函数:call_break(); (5) 商品报损函数:call_break(); 5. 详细设计1、 首页函数: char first_face()2. 新购商品入库函数:void in_storage()3. 商品信息删除函数:void out_storage()4. 商品信息查询函数:void select_ele()5. 商品报损函数: void call_break()5、 测试1. 系统选择界面2. 商品入库:3. 商品信息存盘:4. 商品查询统计:5. 商品破损:6. 商品出库:7.

7、 系统退出:6、 设计心得在短短几天的时间里,完成了该系统的设计,对自己来说确实是一个不小的挑战。本系统的主要功能是管理员对超市库存商品的管理,可以进行查询、删除、添加、修改等操作。在设计这个超市库存管理系统的过程中,认识到自己所学的知识确实少得有点可怜,编写代码的时候有时会连最基本的语句都想不起来,只有通过查找课本还有网上的一些资料才慢慢进入设计状态。 通过本次超市库存管理系统的设计,认识到了自身C+的基础知识并不扎实,不过也让我再次熟悉数据库的设计过程。同时,我也能够基本掌握C+程序设计的方法,并且在此基础上掌握类的构造方法,明确类中构造函数、成员函数的建立以及调用,此外,另外,当我结合C

8、+中字符串函数的编译系统给定的库函数,采用一定的逻辑编译,就可以实现系统设计的各项要求,达到设计目的,进而提高自己的C+语言使用水平。学习是无止境的,要想有所建树就必须要付出比别人更多的努力,希望在以后的学习中可以有更深的认识,以取得更好的成绩!七、附录(源程序)/main.cpp#include #include #include #include #include #include using namespace std;/仓库管理员类class adminpublic:admin();private:string name;/仓库货架类class shelfpublic:shelf();

9、private:admin men;/管理员string storeNo;/仓库编号string kinds;/商品大类string shelfNo;/货架号;/electrical classclass elepublic:ele();private:string name;/商品名double price;/介格shelf sh;/所属货架long count;/商品数量;/管理(组合类)class manapublic:mana();char first_face();/首页void in_storage();/入库void out_storage();/ 出库void select_e

10、le();/查询void select_name();/按商品名称查询void select_price();/按商品价格查询void select_kind();/按大类查询void call_break();/商品报损private:ele aele;shelf ashelf;admin abs;/电器类默认构造函数ele:ele():sh()name = xxx;/商品名price = 0.0;/介格count = 0;/商品数量/仓库货架类默认构造函数shelf:shelf():men()storeNo = xxx;/仓库编号kinds = xxx;/商品大类shelfNo = xxx

11、;/货架号/仓库管理员类admin:admin()name = xxx;/管理类默认构造函数mana:mana():aele(), ashelf(), abs()char mana:first_face()system(cls);cout endl;cout endl 超市库存货物管理系统ttendlt-系统菜单显示如下-tendl tt¥endl tt¥ 1. 商品入库 ¥endl tt¥ 2. 商品出库 ¥endl tt¥ 3. 查询统计 ¥endl tt¥ 4. 商品报损 ¥endl tt¥ 5. 退出系统 ¥endl tt- endl endl tt;return getch();/入

12、库void mana:in_storage()system(cls);string name;/商品名double price;/介格string storeNo;/仓库编号string kinds;/商品大类string shelfNo;/货架号long count = 0; /商品数量cout endl 商品入库,请输入相关信息 : endl endl ;cout name;cout endl price;cout endl count;cout endl storeNo;cout endl kinds;cout endl shelfNo;ofstream storeFile(store.

13、txt, ios:app);storeFile setiosflags(ios:left) setw(20) name setw(15) price setw(10) count setw(10) storeNo setw(20) kinds shelfNo endl;storeFile.close();cout endl endl t该商品已经入库. endl endl t;system(pause);/ 出库void mana:out_storage()system(cls);string name;/商品名cout endl t商品出库,输入出库商品信息 : endl endl;cout

14、 name;ifstream storeFile(store.txt);if (!storeFile)ofstream storeFile1(store.txt);storeFile1.close();cout endl endl t仓存为空! endl endl name1 price1 count1 storeNo1 kinds1 shelfNo1)if (name1=name)flag = true;elsetempFile setiosflags(ios:left) setw(20) name1 setw(15) price1 setw(10) count1 setw(10) stor

15、eNo1 setw(20) kinds1 shelfNo1 endl;tempFile.close();storeFile.close();if (!flag)cout endl endl t仓库中没有这种商品! endl endl t;system(pause);return;ofstream storeFile1(store.txt);ifstream tempFile1(temp.txt);storeFile1 tempFile1.rdbuf();storeFile1.close();tempFile1.close();cout endl t这些商品已经出库, 请仔细检查! endl e

16、ndl t;system(pause);/查询void mana:select_ele()while (1)system(cls);cout endl endl;cout t= endl t| | endl t| 商 品 查 询 | endl t| | endl t| 1. 按商品名称查询 | endl t| | endl t| 2. 按商品价格查询 | endl t| | endl t| 3. 按大类查询 | endl t| | endl t| 4. 返回 | endl t| | endl t= endl endl tt;char select = getch();switch (selec

17、t)case 1:select_name();break;case 2:select_price();break;case 3:select_kind();break;case 4:return;default:break;/按商品名称查询void mana:select_name()system(cls);cout endl t按商品名查询 : endl endl ;cout name;string name1;/商品名double price1;/介格string storeNo1;/仓库编号string kinds1;/商品大类string shelfNo1;/货架号long count

18、1 = 0; /商品数量ifstream storeFile(store.txt);if (!storeFile)cout endl endl t对不起,你的库存为空! endl endl t;system(pause);return;bool flag = false;cout endl 商品名 介格 商品数量 仓库编号 商品大类 货架号 endl name1 price1 count1 storeNo1 kinds1 shelfNo1)if (name1 = name)flag = true;cout setiosflags(ios:left) setw(15) name1 setw(10

19、) price1 setw(10) count1 setw(10) storeNo1 setw(15) kinds1 shelfNo1 endl;storeFile.close();if (!flag)cout endl endl 对不起,库存中没有这种商品!;cout endl endl;system(pause);/按商品价格查询void mana:select_price()system(cls);cout endl t按商品价格查询 : endl endl ;cout price;string name1;/商品名double price1;/介格string storeNo1;/仓库

20、编号string kinds1;/商品大类string shelfNo1;/货架号long count1 = 0; /商品数量ifstream storeFile(store.txt);if (!storeFile)cout endl endl t对不起,你的库存为空! endl endl t;system(pause);return;bool flag = false;cout endl 商品名 介格 商品数量 仓库编号 商品大类 货架号 endl name1 price1 count1 storeNo1 kinds1 shelfNo1)if (price1 = price)flag = t

21、rue;cout setiosflags(ios:left) setw(15) name1 setw(10) price1 setw(10) count1 setw(10) storeNo1 setw(15) kinds1 shelfNo1 endl;storeFile.close();if (!flag)cout endl endl 对不起,库存中没有这个价格的商品!;cout endl endl;system(pause);/按大类查询void mana:select_kind()system(cls);cout endl t按商品大类查询 : endl endl ;cout kinds;

22、string name1;/商品名double price1;/介格string storeNo1;/仓库编号string kinds1;/商品大类string shelfNo1;/货架号long count1 = 0; /商品数量ifstream storeFile(store.txt);if (!storeFile)cout endl endl t对不起,你的库存为空! endl endl t;system(pause);return;bool flag = false;cout endl 商品名 介格 商品数量 仓库编号 商品大类 货架号 endl name1 price1 count1

23、 storeNo1 kinds1 shelfNo1)if (kinds1 = kinds)flag = true;cout setiosflags(ios:left) setw(15) name1 setw(10) price1 setw(10) count1 setw(10) storeNo1 setw(15) kinds1 shelfNo1 endl;storeFile.close();if (!flag)cout endl endl 对不起,库存中没有这类商品!;cout endl endl;system(pause);/商品报损void mana:call_break()system(

24、cls);string name;/商品名cout endl t商品报损,请输入要报损商品信息 : endl endl;cout name;ifstream storeFile(store.txt);if (!storeFile)ofstream storeFile1(store.txt);storeFile1.close();cout endl endl t仓存为空! endl endl t;system(pause);return;bool flag = false;string name1;/商品名double price1;/介格string kinds1;/商品大类string sh

25、elfNo1;/货架号long count1 = 0; /商品数量ofstream tempFile(temp.txt);string storeNo1;/仓库编号cout endl endl 你想报损商品信息如下 : endl endl;cout endl 商品名 介格 商品数量 仓库编号 商品大类 货架号 endl name1 price1 count1 storeNo1 kinds1 shelfNo1)if (name1=name)flag = true;cout setiosflags(ios:left) setw(15) name1 setw(10) price1 setw(10)

26、count1 setw(10) storeNo1 setw(15) kinds1 shelfNo1 endl;shelfNo1 += (损坏);tempFile setiosflags(ios:left) setw(20) name1 setw(15) price1 setw(10) count1 setw(10) storeNo1 setw(20) kinds1 shelfNo1 endl;tempFile.close();storeFile.close();if (!flag)cout endl endl 对不起,仓库中没有这种商品! endl endl;system(pause);ret

27、urn;ofstream storeFile1(store.txt);ifstream tempFile1(temp.txt);storeFile1 tempFile1.rdbuf();storeFile1.close();tempFile1.close();cout endl endl 这些商品已经损坏,请尽快从仓库中取出! endl endl;cout 报损成功,记录已经更改! endl endl ;system(pause);int main()char select;mana men;while (select = men.first_face()switch (select)case 1:men.in_storage();break;case 2:men.out_storage();break;case 3:men.select_ele();break;case 4:men.call_break();break;case 5:cout t 谢谢使用! endl endl tt;exit( 0 );break;default:break;return 0; 43

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号