




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录一、系统总框图及函数定义及说明3二、项目要求与简介3三、系统分析43.1. 主要类说明43.2.系统采用的关键(难点)技术4四、调试分析5五、源代码5六、心得体会16一、系统总框图及函数定义及说明 系统总框图:本系统的功能虽然不是很强大,但是也包括了录入,添加,删除,查找,修改,计算等基本的功能,具体框图如下。 通过设计一个较为简单的商场库存货物管理系统,进一步熟悉C+中类的概念、类的封装、继承的实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C+的理解与Visual C+环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。二、项
2、目要求与简介设计某公司的库存管理系统。此程序是为了更好的处理货物的详细信息。包括货物的货物的入库、出库、查询、统计。并且能够很好的让使用者了解库存货物的有关信息。系统要求能够按编号显示、查找、增加、删除、和保存各类货物的信息。输入和输出货物的有关信息并且对输入保存文件里确定程序至少具备以下功能:查询模块、增加模块、删除模块、货物的有关信息数据存盘等的基本模块。系统具有“货物的有关信息数据存盘”的功能,所以货物的有关信息数据可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出货物的有关信息,可以方便用户使用,避免数据重复录入,考虑到系统实现简洁,货物数据文件采用文本文件,货物数据文件名:da
3、te.dat。作为一个完整的系统,除了具有增加货物,删除货物的信息模块,还应该具有修改货物相关信息的功能, 所以本系统具备了“商品入库”、“商品出库”、“查询统计”、“商品报损”、“退出系统”,这5个基本功能,就可以以最简捷的方式实现对货物的管理,也就实现了系统的要求。三、系统分析3.1. 主要类说明a.仓库管理员类class adminpublic:admin();private:string name;b.仓库货架类class shelfpublic:shelf();private:admin men;/管理员string storeNo;/仓库编号string kinds;/商品大类st
4、ring shelfNo;/货架号; 3.2.系统采用的关键(难点)技术使用面向对象的程序设计进行分析,整个系统涉及两大类可操作,仓库、商品。所以系统主要涉及两大类:仓库类、商品类。系统框架就是仓库类和商品类的定义;主函数中定义一个仓库对象,循环显示主菜单并根据用户选择调用仓库类的相应方法(成员函数)。考虑系统操作的货物信息具有不确定性,所以考虑使用链表保存、处理货物信息。仓库类包含:所有货物信息的一个不带头结点的链表及可以对货物信息进行增,改,删除,查询,数量设置,数据存盘等操作的相关模块为成员函数。所有货物都具有的公共信息及操作可以使用仓库类进行描述。由于系统具有3类货物且3类货物信息数据
5、,操作基本相同,所以可以为他们创立相同的类,并且采用继承和派生。四、调试分析由于这次C+的设计课程作业在许多复习之中,还有能力和时间的限制,虽然没有太多的功能但还是出现了各种错误频繁。各种类的定义表现出了不足。对管理员登陆没有设置密码什么的直接进入到了主菜单,没有多少安全性,容错性比较低,如果输入信息有误就要重新进入有点麻烦。对于这些问题,我觉得只要记住录入的商品的详细信息不发生错误还是可以避免的。毕竟能力有限,对C+领悟没怎么透彻,希望老师能够耐心原谅。五、源代码 /main.cpp#include #include #include #include #include #include u
6、sing namespace std;/仓库管理员类class adminpublic:admin();private:string name;/仓库货架类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;/商品数量;/管理(组合
7、类)class manapublic:mana();char first_face();/首页void in_storage();/入库void out_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
8、= 0.0;/价格count = 0;/商品数量/仓库货架类默认构造函数shelf:shelf():men()storeNo = xxx;/仓库编号kinds = xxx;/商品大类shelfNo = xxx;/货架号/仓库管理员类admin:admin()name = xxx;/管理类默认构造函数mana:mana():aele(), ashelf(), abs()char mana:first_face()system(cls);cout endl;cout endl ttendl tt endl tt 商场库存货物管理系统 endl tt endl tt 1. 商品入库 endl tt
9、endl tt 2. 商品出库 endl tt endl tt 3. 查询统计 endl tt endl tt 4. 商品报损 endl tt endl tt 5. 退出系统 endl tt 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 商品入库,请输入相关信
10、息 : endl endl ; cout name;cout endl price;cout endl count;cout endl storeNo;cout endl kinds;cout endl 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 en
11、dl t该商品已经入库. endl endl t; system(pause);/ 出库void mana:out_storage()system(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 name1 price1 count1 storeNo1 k
12、inds1 shelfNo1)if (name1=name)flag = true;elsetempFile 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 t仓库中没有这种商品! endl endl t;system(pause);return;ofstream storeFile1(sto
13、re.txt);ifstream tempFile1(temp.txt);storeFile1 tempFile1.rdbuf();storeFile1.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
14、t| 2. 按商品价格查询 | endl t| | endl t| 3. 按大类查询 | endl t| | endl t| 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 end
15、l t按商品名查询 : endl endl ;cout name;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 商品名 价格 商品数量 仓库编号
16、商品大类 货架号 endl name1 price1 count1 storeNo1 kinds1 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);/按商
17、品价格查询void mana:select_price()system(cls);cout endl t按商品价格查询 : endl endl ;cout 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);
18、return;bool flag = false;cout endl 商品名 价格 商品数量 仓库编号 商品大类 货架号 endl name1 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 (!flag)cout en
19、dl 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);if (!storeFile)
20、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) count1 setw(10) storeNo1 setw(15) k
21、inds1 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 name;ifstream storeFile(store.txt);if (!storeFile)ofstream storeFile1(store.txt);storeFile1.c
22、lose();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 商品名 价格 商品数量 仓库编号 商品大类 货架号 en
23、dl name1 price1 count1 storeNo1 kinds1 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;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);return;ofstream storeFile1(store.txt);ifst
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度大学兼职教师教学辅导与辅导员聘用合同
- 2025办公场所无偿转租合同范本含保密条款及竞业限制
- 语言礼仪知识培训课件
- 2025年签订的竞业限制合同-你的职场保障吗-
- 2025年车辆抵押借款合同书范本
- 2025劳动合同签订模板
- 2025- 电子合同与传统合同的比较
- 2025年国际工程承包项目人民币贷款合同
- 办公环境优化与办公用品管理模板
- 企业员工职业发展路径规划模板
- 2025年巴彦淖尔市磴口县社区工作者招聘考试试题【答案】
- 《爱的五种能力》
- 石膏固定病人护理常规
- 2025至2030中国管道运输行业深度研究及发展前景投资评估分析
- 麻醉科临床操作技术规范
- 办公场所消防培训课件
- 术后谵妄护理查房
- 绿地香港招标管理制度
- 2025年新疆中考数学试卷真题(含答案解析)
- DNA纳米导线-洞察及研究
- 2025年广西专业技术人员继续教育公需科目(三)答案
评论
0/150
提交评论