C++_语言___课程设计____仓库管理系统

上传人:痛*** 文档编号:163843216 上传时间:2022-10-23 格式:DOC 页数:25 大小:304KB
收藏 版权申诉 举报 下载
C++_语言___课程设计____仓库管理系统_第1页
第1页 / 共25页
C++_语言___课程设计____仓库管理系统_第2页
第2页 / 共25页
C++_语言___课程设计____仓库管理系统_第3页
第3页 / 共25页
资源描述:

《C++_语言___课程设计____仓库管理系统》由会员分享,可在线阅读,更多相关《C++_语言___课程设计____仓库管理系统(25页珍藏版)》请在装配图网上搜索。

1、目 录1 课程设计的目的和意义32 需求分析5 本系统是一个针对企业商品的仓库管理的软件,我们需要做到的是让企业能够更好的对旗下的仓库进行记录,汇总查询,以及掌握商品的供销商的信息记录。53 系统设计64 系统测试14参考文献19附录 源程序201 课程设计的目的和意义课程设计的目的: 企业的库存管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,出入库、管理、供销商的渠道各有差异,各个企业之间的管理体制不尽相同,因此仓库的库存管理必须编制一套库存管理系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。 根据当前的企业管理体制,一般的库存管理系统,总是根据所掌握的物资类别,相应

2、分成几个模块来进行商品的出入库,库存盘点,以及对供销商的详细记录。为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划进行进货,使得各商品不会缺货,使物资设备的储备最佳。 因此有必要开发一套库存管理系统来提高企业工作效率, 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查,我们开发了下面的仓库库存管理系统。课程设计的意义: 库存管理的主要目标就是通过对仓库所有入出库活动的管理及对库存数据有效的统计和分析,以保证企业生产中畅通的物流,使决策人员及早发现问题,采取相应

3、措施,调整库存结构,缩短储备周期,加速资金周转,最大限度地降低库存占用,同时,通过周期性的仓库盘点,及时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调企业经营收到更大效益,库存管理系统是协调企业生产经营的基础,其数据的准确性、方便的查询、有效的分析是整个计算机管理系统顺利运行的关键。 随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产

4、品的各种信息量也会成倍增长。面对庞大的产品信息量,如何有效地管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业运行效益。而库存管理又涉及入库、出库的产品及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,工作量的繁重是可想而知的,所以这就需要由库存管理系统来提高库存管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义。2 需求分析库存管理系统 本系统是一个针对企业商品的仓库管理的软件,我们需要做到的是让

5、企业能够更好的对旗下的仓库进行记录,汇总查询,以及掌握商品的供销商的信息记录。库存记录管理供销商管理物品信息管理1.增加项目4.修改项目信息0.返回7.读取项目信息6.保存项目信息3.查找项目信息2.显示全部项目物品信息管理 库存管理系统的总层次图5.删除项目信息 本人负责的物品信息管理层次图3 系统设计3.1各模块功能分析模块一:增加项目物品信息管理系统选择界面输入数字:1 按输入入库项目的数量 任意键返回输入项目编号输入项目品名输入商品单价此模块是为库存管理系统增加仓库的新商品信息。运行界面如下:模块二:显示全部项目物品信息管理系统选择界面输入数字:2 按任意键显示结果界面返回此模块是为仓

6、库管理员提供仓库所有的商品的信息。运行界面如下:模块三:查找项目信息物品信息管理系统选择界面 返回输入数字:3查找菜单输入数字:1输入编号查询按任意键返回输入数字:2输入品名查询输入数字:3输入数量范围查询输入数字:4输入单价范围查询输入数字:5输入总价范围查询输入数字:0此模块是帮助仓库管理员查找仓库所有商品信息。运行界面如下:模块四:修改项目信息物品信息管理系统选择界面 返回输入数字:4修改菜单输入数字:1输入编号修改按任意键返回输入数字:2输入品名修改输入数字:3输入数量范围修改输入数字:4输入单价范围修改输入数字:5输入总价范围修改输入数字:0此模块是帮助仓库管理员修改仓库商品信息。运

7、行界面如下:模块五:删除项目信息物品信息管理系统选择界面 返回输入数字:5删除菜单输入数字:1输入编号删除按任意键返回输入数字:2输入品名删除输入数字:3输入数量范围删除输入数字:4输入单价范围删除输入数字:5输入总价范围删除输入数字:0此模块是帮助仓库管理员删除仓库里的错误商品信息。运行界面如下:3.2类、函数及说明class Inventorypublic:Stock *pHead; /定义一个头结点int count;/定义数量Inventory();/构造函数Inventory();/析构函数int Save(char fileName);/保存所有项目信息到文件int Load(ch

8、ar fileName);/从文件中读取项目信息void Menu();/处理项目信息模块菜单private:friend class OutStocks;/声明友元类void Display();void AddStock(Stock*);/添加一个项目void AddStocks();/添加多个项目int MenuSelect();/显示和处理项目信息模块菜单;class Stockprotected:int price;/单价int amount;/数量char num20;/编号char name20;/品名public:Stock(void);/构造函数Stock *next;/定义

9、next指针void SetNum(char);/声明初始化编号函数char* GetNum();/获得编号函数void SetName(char);/初始化名称函数char *GetName();/获得名称函数void SetPrice(int);/声明初始化价格函数int GetPrice();/获得价格函数void SetAmount(int);/初始化数量函数int GetAmount();/获得数量函数void Input(char* a);/声明输入函数void Add(int);/声明添加函数void Out(int);/声明出库函数void Update();/声明更新函数vo

10、id Display();/声明打印函数;4 系统测试输入数字:2首先增加项目:然后显示全部项目:然后查找(例如按品名查找和按单价查找):然后是修改(例如按编号或者总价修改:然后删除操作(例如按数量和编号删除):5 心得体会通过两周的课程设计使我对C+有了更深刻的认识,不仅学习到了基本的理论知识,还了解到了C+语言程序设计的思想,这些知识都为我的课程设计和进一步的学习打下了坚实的基础。关于库存管理系统的课程设计,一方面是为了检查这一个学期来计算机语言及链表的学习成果,另一方面也是为了让我们进一步掌握和熟练地运用它,与此同时,也能够让我们认清自己在C+学习方面的不足之处和薄弱环节,并加以弥补和巩

11、固。通过对库存管理系统的程序设计,进一步的巩固了用C+语言编写程序的能力,并且利于更好的掌握C+语言! 在为期近两周的C+课程设计中,我加强了对C+程序设计这门课程的认识,并且复习了自己以前学习到的知识,自己的逻辑思考能力也提高不少。这些都使得我对计算机语言的学习有了更深入的认识!总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识。像库存管理系统这样的应用程序的设计和创建

12、,经历了平时在课堂和考试中不会出现的难题和考验。而这些问题,又都是课本上很少提到的、更深一层的实践与知识相结合的问题,这并不是我们平时只靠课本,就可以轻易解决的。刚开始我们的程序缺乏实际应用意义,在屠老师的指导下,我们更深刻的知道了一个库存管理系统应该具备的内容,比如出入库,库存信息,供销商信息等等。所以,这次课程设计锻炼了我们面对难题,学会根据客户需求解决具体问题的能力,进一步培养了独立思考问题和解决问题的能力。特别是对于链表的运用。当然,屠老师的指导和同学的帮助也是不可忽视的,他们给了我许多提示和帮助,教会了我编译复杂程序的方法。总而言之,这次C+程序设计实践让我收获很大。参考文献1 数据

13、结构(C语言版)清华大学出版社2 C语言课程设计(第2版)电子工业出版社3 百度-C+课程设计吧附录 源程序头文件:Inventory.h#pragma once#include Stock.hclass Inventorypublic:Stock *pHead; /定义一个头结点int count;/定义数量Inventory();/构造函数Inventory();/析构函数int Save(char fileName);/保存所有项目信息到文件int Load(char fileName);/从文件中读取项目信息void Menu();/处理项目信息模块菜单private:friend c

14、lass OutStocks;/声明友元类void Display();void AddStock(Stock*);/添加一个项目void AddStocks();/添加多个项目int MenuSelect();/显示和处理项目信息模块菜单;头文件:Stock.h:#pragma onceclass Stockprotected:int price;/单价int amount;/数量char num20;/编号char name20;/品名public:Stock(void);/构造函数Stock *next;/定义next指针void SetNum(char);/声明初始化编号函数char*

15、 GetNum();/获得编号函数void SetName(char);/初始化名称函数char *GetName();/获得名称函数void SetPrice(int);/声明初始化价格函数int GetPrice();/获得价格函数void SetAmount(int);/初始化数量函数int GetAmount();/获得数量函数void Input(char* a);/声明输入函数void Add(int);/声明添加函数void Out(int);/声明出库函数void Update();/声明更新函数void Display();/声明打印函数;Inventory.cpp:#inc

16、lude Search.h#include #include #include using namespace std;extern Search Search;/寻找Search的定义Inventory:Inventory()count=0;pHead = new Stock();/给头结点分配储存空间pHead-next = NULL;/头结点的下一个节点置空Inventory:Inventory()/析构函数/要将所有节点释放掉Stock *pCurrent;/定义一个当前指针pCurrent=pHead;/把头结点赋给当前指针while(pCurrent-next != NULL)/当

17、当前指针指向的下一个节点不为空pHead = pHead-next;/头结点后移一个单位free(pCurrent);/释放当前节点pCurrent = pHead;/头结点赋给当前指针free(pCurrent);/释放当前节点void Inventory:AddStock(Stock *pCurrent)char n5;while(pCurrent-next != NULL)/ 当pCurrent下一个节点不为空pCurrent = pCurrent-next; /pCurrent结点后移一个单位coutn;pCurrent-Input(n);/调用输入函数pCurrent-next =

18、new Stock();/给pCurrent下一个结点分配储存空间pCurrent = pCurrent-next; /pCurrent结点后移一个单位pCurrent-next = NULL; / pCurrent下一个节点为空count+;void Inventory:AddStocks()int n;coutn;getchar();/消除回车符if(n1)return;Stock *pCurrent;pCurrent = pHead; /把头结点赋给当前指针for( int i=1;i=n;i+ )coutntti:endl;AddStock(pCurrent);system(pause

19、);void Inventory:Display()if(count=0)system(cls);coutnnntt无物品记录。nntt;system(pause);return;system(cls);cout库存物品共count项:; coutnn;cout序号 编号 品名 单价 数量 总价 n;coutn;coutnext!=NULL;i+)coutsetfill(0)setw(3)iDisplay();/调用打印函数cout next; /pCurrent结点后移一个单位cout n;coutn;system(pause);int Inventory:Save(char fileNam

20、e)ofstream oFile(fileName,ios:out|ios:binary);/ 二进制方式写入文件if(!oFile)couttt文件“fileName”打开失败!next; /pCurrent结点后移一个单位oFile.close();/别忘了关闭文件流return 1;int Inventory:Load(char fileName)ifstream iFile(fileName,ios:in|ios:binary);if(!iFile)couttt文件“fileName”打开失败!next = new Stock();/给pCurrent下一个结点分配储存空间iFile.

21、read(char *)&(*(pCurrent-next),sizeof(*(pCurrent-next);pCurrent=pCurrent-next; /pCurrent结点后移一个单位pCurrent-next = NULL;iFile.close();/别忘了关闭文件流return 1;int Inventory:MenuSelect()char s5;int cn;system(cls); coutnn;cout物 品 信 息 管 理ver0.9测试版n;cout n;cout 1. 增 加 项 目 n;cout 2. 显 示 全 部 项 目 n;cout 3. 查 找 项 目 信

22、 息 n;cout 4. 修 改 项 目 信 息 n;cout 5. 删 除 项 目 信 息 n;cout n;cout 6. 保 存 库 存 记 录 n;cout 7. 读 取 库 存 记 录 n;cout 0. 返 回 n;cout n;coutn;coutn;cout7)coutntt输入错误,请按目录选择:;elsebreak;return cn;void Inventory:Menu()for(;)switch(MenuSelect()case 1:AddStocks();/调用增加函数break;case 2:Display();/调用打印函数break;case 3:Search

23、.Menu(1);/调用查找函数break;case 4:Search.UpdateMenu(1);break;case 5:Search.DeleteMenu(1);break;case 6:if(Save(Stock.data)couttt项目信息保存成功!nendl;elsecouttt项目信息保存失败!nendl;system(pause);break;case 7:if(Load(Stock.data)couttt项目信息读取成功!nendl;elsecouttt项目信息读取失败!nendl;system(pause);break;case 0:return;Stock.cpp:#i

24、nclude Stock.h#include #include using namespace std;Stock:Stock(void)amount=0;next = NULL;void Stock:SetNum(char n)strcpy_s(num,n);char* Stock:GetNum()return num;void Stock:SetName(char n)strcpy_s(name,n);char* Stock:GetName()return name;void Stock:SetPrice(int n)price = n;int Stock:GetPrice()return

25、 price;void Stock:SetAmount(int n)amount=n;int Stock:GetAmount()return amount;void Stock:Input(char* a)int n;char ch10;SetNum(a);coutch;SetName(ch);coutn;getchar();SetPrice(n);void Stock:Add(int n)amount+=n;void Stock:Out(int n)amount-=n;void Stock:Update()int n;char ch10;couttt编 号:;cin.getline(ch,n);SetNum(ch);couttt品 名:;cin.getline(ch,n);SetName(ch);coutn;getchar();SetPrice(n);coutn;getchar();SetAmount(n);void Stock:Display()coutGetNum()tbbGetName()tbbbbGetPrice()t setfill(0)setw(3)GetAmount()tGetAmount()*GetPrice();

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!