《C++课程设计商场库存货物管理系统.pdf》由会员分享,可在线阅读,更多相关《C++课程设计商场库存货物管理系统.pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C+课程设计商场库存货物管理系统 C+课程设计报告 课题名称:商场库存货物管理系统 姓 名:学 号:专 业:班 级:指导老师:2011 年 6 月 目录 1 课程设计目的 2 项目要求与简介 3 系统分析 3.1 系统模块图 3.2 系统使用的关键(难点)技术 3.3 要紧类说明 4 测试运行的结果 5 心得体会.6 程序代码清单.7 参考书目 一、课程设计目的 通过设计一个较为简单的商场库存货物管理系统,进一步熟悉 C+中类的概念、类的封装、继承的实现方式。熟悉系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对 C+的懂得与 Visual C+环境的使用;
2、逐步熟悉程序设计的方法,并养成良好的编程习惯。二、项目要求与简介 设计某公司的库存管理系统。此程序是为了更好的处理货物的全面信息。包含货物的货物的入库、出库、查询、统计。同时能够很好的让使用者熟悉库存货物的有关信息。系统要求能够按编号显示、查找、增加、删除、与储存各类货物的信息。输入与输出货物的有关信息同时对输入储存文件里确定程序至少具备下列功能:查询模块、增加模块、删除模块、货物的有关信息数据存盘等的基本模块。系统具有“货物的有关信息数据存盘”的功能,因此货物的有关信息数据能够储存到磁盘文件,那么也就意味着今后能够从磁盘文件读出货物的有关信息,能够方便用户使用,避免数据重复录入,考虑到系统实
3、现简洁,货物数据文件使用文本文件,货物数据文件名:date.dat。作为一个完整的系统,除了具有增加货物,删除货物的信息模块,还应该具有修改货物有关信息的功能,因此本系统具备了“商品入库”、“商品出库”、“查询统计”、“商品报损”、“退出系统”,这 5 个基本功能,就能够以最简捷的方式实现对货物的管理,也就实现了系统的要求。三、系统分析 1.系统模块图 2.系统使用的关键(难点)技术 a.仓库管理员类 class admin public:admin();private:string name;商场库存货物管理系统 商品入库 查询统计 退出系统 商品信息 商品分类信息 按名称查询 按类别查询
4、商品出库 商品报损 直接退出 报损商品信息 b.仓库货架类 class shelf public:shelf();private:admin men;/管理员 string storeNo;/仓库编号 string kinds;/商品大类 string shelfNo;/货架号;3.要紧类说明 使用面向对象的程序设计进行分析,整个系统涉及两大类可操作,仓库、商品。因此系统要紧涉及两大类:仓库类、商品类。系统框架就是仓库类与商品类的定义;主函数中定义一个仓库对象,循环显示主菜单并根据用户选择调用仓库类的相应方法(成员函数)。考虑系统操作的货物信息具有不确定性,因此考虑使用链表储存、处理货物信息。
5、仓库类包含:所有货物信息的一个不带头结点的链表及能够对货物信息进行增,改,删除,查询,数量设置,数据存盘等操作的有关模块为成员函数。所有货物都具有的公共信息及操作能够使用仓库类进行描述。由于系统具有 3 类货物且 3 类货物信息数据,操作基本相同,因此能够为他们创立相同的类,同时使用继承与派生。四、测试运行的结果 1.商场库存货物管理系统首页 2.商品入库 3.商品查询 4按商品名查询 5.按商品价格查询 6.按商品大类查询 7.商品报损 五、心得体会 通过学生的分组设计,使学生能够基本掌握 C+程序设计的方法,同时在此基础上掌握类的构造方法,明确类中构造函数、成员函数的建立与调用,此外,同时
6、,结合 C+中,字符串函数的编译系统给定的库函数,使用一定的逻辑编译,实现题目中要求的各项要求,达到基本实验母的,提高自己的 C+语言使用水平。六、程序代码清单/main.cpp#include#include#include#include#include#include using namespace std;/仓库管理员类 class admin public:admin();private:string name;/仓库货架类 class shelf public:shelf();private:admin men;/管理员 string storeNo;/仓库编号 string ki
7、nds;/商品大类 string shelfNo;/货架号;/electrical class class ele public:ele();private:string name;/商品名 double price;/介格 shelf sh;/所属货架 long count;/商品数量;/管理(组合类)class mana public:mana();char first_face();/首页 void in_storage();/入库 void out_storage();/出库 void select_ele();/查询 void select_name();/按商品名称查询 void
8、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;/货架号 /仓库管理员类 admin:admin()name=xxx;/管理类默认
9、构造函数 mana:mana():aele(),ashelf(),abs()char mana:first_face()system(cls);cout endl;cout endl tt endl tt endl tt 商场库存货物管理系统 endl tt endl tt 1.商品入库 endl tt 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_st
10、orage()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.txt,ios:app);sto
11、reFile 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 name;ifstream storeFil
12、e(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;else tempFile setiosflags(ios:left)setw(20)name1 setw(15)price1 setw(10)count1 setw(10)storeNo1 setw(20)kinds1 shelfNo1 en
13、dl;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 endl t;system(pause);/查询 void mana:
14、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(select)case 1:select_name();break;case 2:select_price();break;case 3:select_kind(
15、);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 count1=0;/商品数量 ifstream storeFile(store.txt);if(!storeFile)cout endl endl t 对
16、不起,你的库存为空 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)price1 setw(10)count1 setw(10)storeNo1 setw(15)kinds1 shelfNo1 endl;storeFile.close
17、();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;/仓库编号 string kinds1;/商品大类 string shelfNo1;/货架号 long count1=0;/商品数量 ifstream storeFile(store.
18、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=true;cout setiosflags(ios:left)setw(15)name1 setw(10)price1 setw(10)count1 setw(10)storeNo1 setw(
19、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;string name1;/商品名 double price1;/介格 string storeNo1;/仓库编号 string kinds1;/商品大类 string shelfNo1;/货架号 long c
20、ount1=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(kinds1=kinds)flag=true;cout setiosflags(ios:left)setw(15)name1 setw(10)price
21、1 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(cls);string name;/商品名 cout endl t 商品报损,请输入要报损商品信息:endl endl;cout name;ifstream storeFile(store.txt);if(!storeFile)ofs
22、tream 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
23、;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)count1 setw(10)storeNo1 setw(15)kinds1 shelfNo1 endl;shelfNo1+=(损坏);tempFile setiosflags(ios:left)setw(20)name1 setw(15)price1
24、 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);ifstream tempFile1(temp.txt);storeFile1 tempFile1.rdbuf();storeFile1.close();tempFile1.close();cout end
25、l 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;七、参考书目 C+面向对象设计语言