C++实训报告——超市库存管理系统_第1页
C++实训报告——超市库存管理系统_第2页
C++实训报告——超市库存管理系统_第3页
C++实训报告——超市库存管理系统_第4页
C++实训报告——超市库存管理系统_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实训报告题 目: 超市库存管理院 系: 专 业: 姓 名: 学 号: 指导教师: 日 期: 目 录一、 课题设计1。 设计目的2. 设计要求二、需求分析三、系统设计 1。系统采用的关键技术 2。主要类的说明 3. 系统模块图 4. 函数清单 5. 详细设计五、测试六、设计心得七、附录(源程序)2一 课题设计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();pr

4、ivate: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_st

6、orage(); (4) 查询函数:void select_ele(); /查询 A.按商品名称查函数:void select_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、

7、 测试1. 系统选择界面2. 商品入库:3. 商品信息存盘:4. 商品查询统计:5. 商品破损:6. 商品出库:7. 系统退出:6、 设计心得在短短几天的时间里,完成了该系统的设计,对自己来说确实是一个不小的挑战。本系统的主要功能是管理员对超市库存商品的管理,可以进行查询、删除、添加、修改等操作.在设计这个超市库存管理系统的过程中,认识到自己所学的知识确实少得有点可怜,编写代码的时候有时会连最基本的语句都想不起来,只有通过查找课本还有网上的一些资料才慢慢进入设计状态。 通过本次超市库存管理系统的设计,认识到了自身C+的基础知识并不扎实,不过也让我再次熟悉数据库的设计过程。同时,我也能够基本掌握

8、C+程序设计的方法,并且在此基础上掌握类的构造方法,明确类中构造函数、成员函数的建立以及调用,此外,另外,当我结合C+中字符串函数的编译系统给定的库函数,采用一定的逻辑编译,就可以实现系统设计的各项要求,达到设计目的,进而提高自己的C+语言使用水平。学习是无止境的,要想有所建树就必须要付出比别人更多的努力,希望在以后的学习中可以有更深的认识,以取得更好的成绩!七、附录(源程序)/main。cppinclude iostreaminclude using namespace std;/仓库管理员类class adminpublic:admin();private:string name;/仓库货

9、架类class shelfpublic:shelf();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

10、_storage();/ 出库void select_ele();/查询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”;/仓

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

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

13、ndl shelfNo;ofstream storeFile(store.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”);str

14、ing name;/商品名cout endl t商品出库,输入出库商品信息 : ” endl endl;cout name;ifstream storeFile(”store。txt);if (!storeFile)ofstream storeFile1(store。txt”);storeFile1。close();cout endl endl name1 price1 count1 storeNo1 kinds1 shelfNo1)if (name1=name)flag = true;elsetempFile setiosflags(ios:left) setw(20) name1 ” se

15、tw(15) price1 ” setw(10) count1 ” ” setw(10) storeNo1 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

16、。close();tempFile1.close();cout endl ”t这些商品已经出库, 请仔细检查!” endl endl ”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|

17、 4. 返回 ” endl t| endl t=” endl endl tt;char select = getch();switch (select)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 pr

18、ice1;/介格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 storeNo1 kind

19、s1 shelfNo1)if (name1 = name)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:select_price()sys

20、tem(”cls”);cout endl t按商品价格查询 : endl endl ;cout t输入价格 : ;double price;cin price;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);ret

21、urn;bool flag = false;cout endl ”商品名 ”介格 ” ”商品数量 ” 仓库编号 ” 商品大类 ”货架号” endl price1 count1 storeNo1 kinds1 shelfNo1)if (price1 = price)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 (

22、!flag)cout endl endl 对不起,库存中没有这个价格的商品!!;cout endl endl;system(pause”);/按大类查询void mana:select_kind()system(cls”);cout endl t按商品大类查询 : endl endl ;cout kinds;string name1;/商品名double price1;/介格string storeNo1;/仓库编号string kinds1;/商品大类string shelfNo1;/货架号long count1 = 0; /商品数量ifstream storeFile(store。txt”

23、);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 (kinds1 = kinds)flag = true;cout setiosflags(ios:left) setw(15) name1 ” setw(10) price1 ” setw(10) cou

24、nt1 ” 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(cls);string name;/商品名cout endl t商品报损,请输入要报损商品信息 : endl endl;cout ”t商品名称 : ;cin name;ifstream storeFile(store。txt”);if

25、(!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 shelfNo1;/货架号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) nam

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论