还剩23页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
目录TOC\o1-3\h\z\u1课程设计的目的和意义32需求分析5本系统是一个针对企业商品的仓库管理的软件,我们需要做到的是让企业能够更好的对旗下的仓库进行记录,汇总查询,以及掌握商品的供销商的信息记录53系统设计64系统测试14____19附录源程序201课程设计的目的和意义课程设计的目的企业的库存管理往往是很复杂、很繁琐的由于所掌握的物资种类众多,出入库、管理、供销商的渠道各有差异,各个企业之间的管理体制不尽相同,因此仓库的库存管理必须编制一套库存管理系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案根据当前的企业管理体制,一般的库存管理系统,总是根据所掌握的物资类别,相应分成几个模块来进行商品的出入库,库存盘点,以及对供销商的详细记录为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划进行进货,使得各商品不会缺货,使物资设备的储备最佳因此有必要__一套库存管理系统来提高企业工作效率而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化通过对这些情况的仔细调查,我们__了下面的仓库库存管理系统课程设计的意义库存管理的主要目标就是通过对仓库所有入出库活动的管理及对库存数据有效的统计和分析,以保证企业生产中畅通的物流,使决策人员及早发现问题,采取相应措施,调整库存结构缩短储备周期,加速____,最大限度地降低库存占用,同时,通过周期性的仓库盘点,及时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调企业经营收到更大效益,库存管理系统是协调企业生产经营的基础,其数据的准确性、方便的查询、有效的分析是整个计算机管理系统顺利运行的关键随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长面对庞大的产品信息量,如何有效地管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业运行效益而库存管理又涉及入库、出库的产品及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库___的工作能力,工作量的繁重是可想而知的,所以这就需要由库存管理系统来提高库存管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义2需求分析本系统是一个针对企业商品的仓库管理的软件,我们需要做到的是让企业能够更好的对旗下的仓库进行记录,汇总查询,以及掌握商品的供销商的信息记录库存管理系统的总层次图本人负责的物品信息管理层次图3系统设计
3.1各模块功能分析模块一增加项目按任意键返回此模块是为库存管理系统增加仓库的新商品信息运行界面如下模块二显示全部项目按任意键返回此模块是为仓库___提供仓库所有的商品的信息运行界面如下模块三查找项目信息返回此模块是帮助仓库___查找仓库所有商品信息运行界面如下模块四修改项目信息返回此模块是帮助仓库___修改仓库商品信息运行界面如下模块五删除项目信息返回此模块是帮助仓库___删除仓库里的错误商品信息运行界面如下
3.2类、函数及说明classInventory{public:Stock*pHead;//定义一个头结点intcount;//定义数量Inventory;//构造函数~Inventory;//析构函数intS__echarfileName[];//保存所有项目信息到文件intLoadcharfileName[];//从文件中读取项目信息voidMenu;//处理项目信息模块菜单private:friendclassOutStocks;//声明友元类voidDisplay;voidAddStockStock*;//添加一个项目voidAddStocks;//添加多个项目intMenuSelect;//显示和处理项目信息模块菜单};classStock{protected:intpri__;//单价intamount;//数量charnum
[20];//编号charname
[20];//品名public:Stockvoid;//构造函数Stock*next;//定义next指针voidSetNumchar[];//声明初始化编号函数char*GetNum;//获得编号函数voidSetNamechar[];//初始化名称函数char*GetName;//获得名称函数voidSetPri__int;//声明初始化__函数intGetPri__;//获得__函数voidSetAmountint;//初始化数量函数intGetAmount;//获得数量函数voidInputchar*a;//声明输入函数voidAddint;//声明添加函数voidOutint;//声明出库函数voidUpdate;//声明更新函数voidDisplay;//声明打印函数};4系统测试输入数字2首先增加项目然后显示全部项目然后查找(例如按品名查找和按单价查找)然后是修改(例如按编号或者总价修改然后删除操作(例如按数量和编号删除)5心得体会通过两周的课程设计使我对C++有了更深刻的认识,不仅学习到了基本的理论知识,还了解到了C++语言程序设计的思想,这些知识都为我的课程设计和进一步的学习打下了坚实的基础关于库存管理系统的课程设计,一方面是为了检查这一个学期来计算机语言及链表的学习成果,另一方面也是为了让我们进一步掌握和熟练地运用它,与此同时,也能够让我们认清自己在C++学习方面的不足之处和薄弱环节,并加以弥补和巩固通过对库存管理系统的程序设计,进一步的巩固了用C++语言编写程序的能力,并且利于更好的掌握C++语言!在为期近两周的C++课程设计中,我加强了对C++程序设计这门课程的认识,并且复习了自己以前学习到的知识,自己的逻辑思考能力也提高不少这些都使得我对计算机语言的学习有了更深入的认识!总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识像库存管理系统这样的应用程序的设计和创建,经历了平时在课堂和考试中不会出现的难题和考验而这些问题,又都是课本上很少提到的、更深一层的实践与知识相结合的问题,这并不是我们平时只靠课本,就可以轻易解决的刚开始我们的程序缺乏实际应用意义,在屠老师的指导下,我们更深刻的知道了一个库存管理系统应该具备的内容,比如出入库,库存信息,供销商信息等等所以,这次课程设计锻炼了我们面对难题,学会根据客户需求解决具体问题的能力,进一步培养了__思考问题和解决问题的能力特别是对于链表的运用当然,屠老师的指导和同学的帮助也是不可忽视的,他们给了我许多提示和帮助,教会了我编译复杂程序的方法总而言之,这次C++程序设计实践让我收获很大____
[1]数据结构(C语言版)清华大学出版社
[2]C语言课程设计(第2版)电子工业出版社
[3]百度-C++课程设计吧附录源程序头文件Inventory.h#prag__on__#includeStock.hclassInventory{public:Stock*pHead;//定义一个头结点intcount;//定义数量Inventory;//构造函数~Inventory;//析构函数intS__echarfileName[];//保存所有项目信息到文件intLoadcharfileName[];//从文件中读取项目信息voidMenu;//处理项目信息模块菜单private:friendclassOutStocks;//声明友元类voidDisplay;voidAddStockStock*;//添加一个项目voidAddStocks;//添加多个项目intMenuSelect;//显示和处理项目信息模块菜单};头文件Stock.h#prag__on__classStock{protected:intpri__;//单价intamount;//数量charnum
[20];//编号charname
[20];//品名public:Stockvoid;//构造函数Stock*next;//定义next指针voidSetNumchar[];//声明初始化编号函数char*GetNum;//获得编号函数voidSetNamechar[];//初始化名称函数char*GetName;//获得名称函数voidSetPri__int;//声明初始化__函数intGetPri__;//获得__函数voidSetAmountint;//初始化数量函数intGetAmount;//获得数量函数voidInputchar*a;//声明输入函数voidAddint;//声明添加函数voidOutint;//声明出库函数voidUpdate;//声明更新函数voidDisplay;//声明打印函数};Inventory.cpp:#includeSearch.h#includefstream#includeio__nip#includeiostreamusingnamespa__std;externSearchSearch;//寻找Search的定义Inventory::Inventory{count=0;pHead=newStock;//给头结点分配储存空间pHead-next=NULL;//头结点的下一个节点置空}Inventory::~Inventory//析构函数{//要将所有节点释放掉Stock*pCurrent;//定义一个当前指针pCurrent=pHead;//把头结点赋给当前指针whilepCurrent-next!=NULL//当当前指针指向的下一个节点不为空{pHead=pHead-next;//头结点后移一个单位freepCurrent;//释放当前节点pCurrent=pHead;//头结点赋给当前指针}freepCurrent;//释放当前节点}voidInventory::AddStockStock*pCurrent{charn
[5];whilepCurrent-next!=NULL//当pCurrent下一个节点不为空pCurrent=pCurrent-next;//pCurrent结点后移一个单位cout\t\t编号;cinn;pCurrent-Inputn;//调用输入函数pCurrent-next=newStock;//给pCurrent下一个结点分配储存空间pCurrent=pCurrent-next;//pCurrent结点后移一个单位pCurrent-next=NULL;//pCurrent下一个节点为空count++;}voidInventory::AddStocks{intn;cout\n\t\t请输入入库项目数量:;cinn;getchar;//消除回车符ifn1return;Stock*pCurrent;pCurrent=pHead;//把头结点赋给当前指针forinti=1;i=n;i++{cout\n\t\ti:endl;AddStockpCurrent;}systempause;}voidInventory::Display{ifcount==0{systemcls;cout\n\n\n\t\t无物品记录\n\n\t\t;systempause;return;}systemcls;cout库存物品共count项;cout\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n;cout┃序号编号品名单价数量总价┃\n;cout┠─────────────────────────────────────┨\n;cout┃┃\n;Stock*pCurrent;pCurrent=pHead;//把头结点赋给当前指针forinti=1;pCurrent-next!=NULL;i++{cout┃setfill0setw3i\t;pCurrent-Display;//调用打印函数cout┃endl;pCurrent=pCurrent-next;//pCurrent结点后移一个单位}cout┃┃\n;cout┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n;systempause;}intInventory::S__echarfileName[]{ofstreamoFilefileNameios::out|ios::binary;//二进制方式写入文件if!oFile{cout\t\t文件“fileName”打开失败!endl;return0;}oFile.writechar*countsizeofint;Stock*pCurrent;pCurrent=pHead;//把头结点赋给当前指针whilepCurrent!=NULL//pCurrent指针不为空{oFile.writechar*pCurrentsizeof*pCurrent;pCurrent=pCurrent-next;//pCurrent结点后移一个单位}oFile.close;//别忘了关闭文件流return1;}intInventory::LoadcharfileName[]{ifstreamiFilefileNameios::in|ios::binary;if!iFile{cout\t\t文件“fileName”打开失败!endl;return0;}iFile.readchar*countsizeofint;ifiFile.peek!=EOF//文件内容不为空{//第一个节点需单独读取pHead=newStock;iFile.readchar*pHeadsizeof*pHead;}else{pHead=NULL;//头结点为空return1;}Stock*pCurrent;pCurrent=pHead;//把头结点赋给当前指针whileiFile.peek!=EOF//后续节点循环读取{pCurrent-next=newStock;//给pCurrent下一个结点分配储存空间iFile.readchar**pCurrent-nextsizeof*pCurrent-next;pCurrent=pCurrent-next;//pCurrent结点后移一个单位}pCurrent-next=NULL;iFile.close;//别忘了关闭文件流return1;}intInventory::MenuSelect{chars
[5];intcn;systemcls;cout\n┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n;cout┠─────────────物品信息管理───ver
0.9测试版────┨\n;cout┃┃\n;cout┃
1.增加项目┃\n;cout┃
2.显示全部项目┃\n;cout┃
3.查找项目信息┃\n;cout┃
4.修改项目信息┃\n;cout┃
5.删除项目信息┃\n;cout┃┃\n;cout┃
6.保存库存记录┃\n;cout┃
7.读取库存记录┃\n;cout┃
0.返回┃\n;cout┃┃\n;cout┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n;cout\n;cout\t\t请按键选择选择:;for;;{gets_ss;cn=atois;ifcn7cout\n\t\t输入错误,请按目录选择:;elsebreak;}returncn;}voidInventory::Menu{for;;{switchMenuSelect{case1:AddStocks;//调用增加函数break;case2:Display;//调用打印函数break;case3:::Search.Menu1;//调用查找函数break;case4:::Search.UpdateMenu1;break;case5:::Search.DeleteMenu1;break;case6:ifS__eStock.datacout\t\t项目信息保存成功!\nendl;elsecout\t\t项目信息保存失败!\nendl;systempause;break;case7:ifLoadStock.datacout\t\t项目信息读取成功!\nendl;elsecout\t\t项目信息读取失败!\nendl;systempause;break;case0:return;}}}Stock.cpp:#includeStock.h#includeio__nip#includeiostreamusingnamespa__std;Stock::Stockvoid{amount=0;next=NULL;}voidStock::SetNumcharn[]{strcpy_snumn;}char*Stock::GetNum{returnnum;}voidStock::SetNamecharn[]{strcpy_snamen;}char*Stock::GetName{returnname;}voidStock::SetPri__intn{pri__=n;}intStock::GetPri__{returnpri__;}voidStock::SetAmountintn{amount=n;}intStock::GetAmount{returnamount;}voidStock::Inputchar*a{intn;charch
[10];SetNuma;cout\t\t品名;cinch;SetNamech;cout\t\t单价;cinn;getchar;SetPri__n;}voidStock::Addintn{amount+=n;}voidStock::Outintn{amount-=n;}voidStock::Update{intn;charch
[10];cout\t\t编号;cin.getlinech\n;SetNumch;cout\t\t品名;cin.getlinech\n;SetNamech;cout\t\t单价;cinn;getchar;SetPri__n;cout\t\t数量;cinn;getchar;SetAmountn;}voidStock::Display{coutGetNum\t\b\bGetName\t\b\b\b\bGetPri__\tsetfill0setw3GetAmount\tGetAmount*GetPri__;}库存管理系统库存记录管理供销商管理物品信息管理
1.增加项目
4.修改项目信息
0.返回
7.读取项目信息
6.保存项目信息
3.查找项目信息
2.显示全部项目物品信息管理
5.删除项目信息物品信息管理系统选择界面输入数字1输入入库项目的数量输入项目编号输入项目品名输入商品单价物品信息管理系统选择界面输入数字2显示结果界面物品信息管理系统选择界面输入数字3查找菜单输入数字1输入编号查询按任意键返回输入数字2输入品名查询输入数字3输入数量范围查询输入数字4输入单价范围查询输入数字5输入总价范围查询输入数字0物品信息管理系统选择界面输入数字4修改菜单输入数字1输入编号修改按任意键返回输入数字2输入品名修改输入数字3输入数量范围修改输入数字4输入单价范围修改输入数字5输入总价范围修改输入数字0物品信息管理系统选择界面输入数字5删除菜单输入数字1输入编号删除按任意键返回输入数字2输入品名删除输入数字3输入数量范围删除输入数字4输入单价范围删除输入数字5输入总价范围删除输入数字0。