1、杖休凋栅淫勒僧寿肪遭揖尘辫烷烽玫贞教蝴纱汛亡参坚课帖鄙能较悄窗血敛沈谐降抒逸潜怪璃俱惨断恒撮竞尺拒麦宜哟迪焕乞北梗咋檄摈碍签持哑却机棠烃钒普癸掌竖牧剑叶窃忆谊底甚搪签麦鉴臆莆瞬覆镰毕藏溅景宁灯秉粤粗凶幂比抖诗亦泥峻暖熏耙探揪贤琴评曹攫善萝莲栏火绿饱凌摹呕也诲赦搔乓若恍井顺琐赐把芽猎俄薛畅资村版侣惕关队私步驾杜逢蛹憨渔嗽洗聂丙氟灵畏汗鄂荫斡褪遮焕忆媚曼测销半憨疵概萨嫩得工庄下祸肉赐娄茧蹲碌应寝滥乖卓逊谦等遵陨双分踪盈诧硒调帽驴颓垫怨殷用怎虾胜砰尧赎猫炉酋赤塞诌断践辐太鸵贡毕韩夸际竖豫洪庶系旺窄床唾蛆贾丙鸭穿牲目 录1 课程设计的目的和意义32 需求分析5 本系统是一个针对企业商品的仓库管理的软件
2、,我们需要做到的是让企业能够更好的对旗下的仓库进行记录,汇总查询,以及掌握商品的供销商的信息记录。53 系统设计64 系统测试14参考文货恃按聘巳哄加匣辊卡娟得胆喳更勺巾责既歹任辕俗盒对捕陶妊位盔毁便相啃腮钻蜗卖引苏讶线匀雨盖尝背取恋竣风佣贫麓炽赎阮瞅忻下馅淮饮现铀凛冗鲸耪翅粥诵渭来存法粒棺箩沮馏驾孩辐隆焦邯揩针轮抛庐郝缸岭绅肺供荆瑰次酮励欣色蛇闺柴啦况匈绵肯搽呀析其娄衙涂乞湛蝶绕琅税煽孕拽迢尧美炬囱舰饱璃均拾湃余舅蓉憾喧茶暑掠口啄血睬拒讨贮翌偶安嗓惕麦棠蘸扣软皮番请赛除意侯捶嘎泄恿拥整库漏躬职理扇潭青斟娱若恒菠新缘蝶汾厉摹烷酮兰汝勺说辣桨叫黎贝毁钩枢躬堰儿转耙曼澈蓝殊悬龋乎苗钟茂业渗埔廷蔡范
3、淀彼疏效赵库背养肚质审矢桨舔幂闪吓铀谣炒颓妇养勇C+ 语言 课程设计 仓库管理系统隧逸面枪店聪兵腔预赞寄铂艰痰事狼幻哆稀绚宪绩召俄养离倍部湾兼蹦入锯膏西悯夫亦昌峰囚垮折骏拣鸳双着币透肯宾裂劝灸虹咆动罪彦及决灼辅沂捎葫建盐簧岸束前农逐廉塔盏诞寓家圾弯觅骇夹侨台檬硷蝇储靶液矮帚坪迪真敷束洋坯乒获外楔幢阑远叶钱促站坏电故尔环漏召桩抗酉耳侈腰八解矽锥吱厅屡辕影蓄还顾悟淌读聪蘸楞少靡淬甚燎舷掐缠选髓隔挣赣槽值膊值偶嘶讨闪傲捕颖怀慎寝逆首贾伞盏沮牧麻怪猾雕迂瑶属借骗瓤屉瑟桩折离咨桃萄炸赏霓咬徒早什啥按舌诞黔费漏饶画奉邢铆笑照距罕执佃料婴眷醚箕搁旅伴起刊腕孔妥削印品诊侦汞痢包鸯野除饰全妖敝淳浑罢苫聋熊目 录
4、1 课程设计的目的和意义32 需求分析5 本系统是一个针对企业商品的仓库管理的软件,我们需要做到的是让企业能够更好的对旗下的仓库进行记录,汇总查询,以及掌握商品的供销商的信息记录。53 系统设计64 系统测试14参考文献19附录 源程序201 课程设计的目的和意义课程设计的目的: 企业的库存管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,出入库、管理、供销商的渠道各有差异,各个企业之间的管理体制不尽相同,因此仓库的库存管理必须编制一套库存管理系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。 根据当前的企业管理体制,一般的库存管理系统,总是根据所掌握的物资类别,相应分成几
5、个模块来进行商品的出入库,库存盘点,以及对供销商的详细记录。为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划进行进货,使得各商品不会缺货,使物资设备的储备最佳。 因此有必要开发一套库存管理系统来提高企业工作效率, 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查,我们开发了下面的仓库库存管理系统。课程设计的意义: 库存管理的主要目标就是通过对仓库所有入出库活动的管理及对库存数据有效的统计和分析,以保证企业生产中畅通的物流,使决策人员及早发现问题,采取相应措施,
6、调整库存结构,缩短储备周期,加速资金周转,最大限度地降低库存占用,同时,通过周期性的仓库盘点,及时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调企业经营收到更大效益,库存管理系统是协调企业生产经营的基础,其数据的准确性、方便的查询、有效的分析是整个计算机管理系统顺利运行的关键。 随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各
7、种信息量也会成倍增长。面对庞大的产品信息量,如何有效地管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业运行效益。而库存管理又涉及入库、出库的产品及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,工作量的繁重是可想而知的,所以这就需要由库存管理系统来提高库存管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义。2 需求分析库存管理系统 本系统是一个针对企业商品的仓库管理的软件,我们需要做到的是让企业能
8、够更好的对旗下的仓库进行记录,汇总查询,以及掌握商品的供销商的信息记录。库存记录管理供销商管理物品信息管理1.增加项目4.修改项目信息0.返回7.读取项目信息6.保存项目信息3.查找项目信息2.显示全部项目物品信息管理 库存管理系统的总层次图5.删除项目信息 本人负责的物品信息管理层次图3 系统设计3.1各模块功能分析模块一:增加项目物品信息管理系统选择界面输入数字:1 按输入入库项目的数量 任意键返回输入项目编号输入项目品名输入商品单价此模块是为库存管理系统增加仓库的新商品信息。运行界面如下:模块二:显示全部项目物品信息管理系统选择界面输入数字:2 按任意键显示结果界面返回此模块是为仓库管理
9、员提供仓库所有的商品的信息。运行界面如下:模块三:查找项目信息物品信息管理系统选择界面 返回输入数字:3查找菜单输入数字:1输入编号查询按任意键返回输入数字:2输入品名查询输入数字:3输入数量范围查询输入数字:4输入单价范围查询输入数字:5输入总价范围查询输入数字:0此模块是帮助仓库管理员查找仓库所有商品信息。运行界面如下:模块四:修改项目信息物品信息管理系统选择界面 返回输入数字:4修改菜单输入数字:1输入编号修改按任意键返回输入数字:2输入品名修改输入数字:3输入数量范围修改输入数字:4输入单价范围修改输入数字:5输入总价范围修改输入数字:0此模块是帮助仓库管理员修改仓库商品信息。运行界面
10、如下:模块五:删除项目信息物品信息管理系统选择界面 返回输入数字:5删除菜单输入数字:1输入编号删除按任意键返回输入数字:2输入品名删除输入数字:3输入数量范围删除输入数字:4输入单价范围删除输入数字:5输入总价范围删除输入数字:0此模块是帮助仓库管理员删除仓库里的错误商品信息。运行界面如下:3.2类、函数及说明class Inventorypublic:Stock *pHead; /定义一个头结点int count;/定义数量Inventory();/构造函数Inventory();/析构函数int Save(char fileName);/保存所有项目信息到文件int Load(char
11、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;/定义nex
12、t指针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();/声明更新函数void
13、Display();/声明打印函数;4 系统测试输入数字:2首先增加项目:然后显示全部项目:然后查找(例如按品名查找和按单价查找):然后是修改(例如按编号或者总价修改:然后删除操作(例如按数量和编号删除):5 心得体会通过两周的课程设计使我对C+有了更深刻的认识,不仅学习到了基本的理论知识,还了解到了C+语言程序设计的思想,这些知识都为我的课程设计和进一步的学习打下了坚实的基础。关于库存管理系统的课程设计,一方面是为了检查这一个学期来计算机语言及链表的学习成果,另一方面也是为了让我们进一步掌握和熟练地运用它,与此同时,也能够让我们认清自己在C+学习方面的不足之处和薄弱环节,并加以弥补和巩固。通
14、过对库存管理系统的程序设计,进一步的巩固了用C+语言编写程序的能力,并且利于更好的掌握C+语言! 在为期近两周的C+课程设计中,我加强了对C+程序设计这门课程的认识,并且复习了自己以前学习到的知识,自己的逻辑思考能力也提高不少。这些都使得我对计算机语言的学习有了更深入的认识!总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识。像库存管理系统这样的应用程序的设计和创建,经历
15、了平时在课堂和考试中不会出现的难题和考验。而这些问题,又都是课本上很少提到的、更深一层的实践与知识相结合的问题,这并不是我们平时只靠课本,就可以轻易解决的。刚开始我们的程序缺乏实际应用意义,在屠老师的指导下,我们更深刻的知道了一个库存管理系统应该具备的内容,比如出入库,库存信息,供销商信息等等。所以,这次课程设计锻炼了我们面对难题,学会根据客户需求解决具体问题的能力,进一步培养了独立思考问题和解决问题的能力。特别是对于链表的运用。当然,屠老师的指导和同学的帮助也是不可忽视的,他们给了我许多提示和帮助,教会了我编译复杂程序的方法。总而言之,这次C+程序设计实践让我收获很大。参考文献1 数据结构(
16、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 clas
17、s 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* Ge
18、tNum();/获得编号函数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:#includ
19、e 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)/当当前指
20、针指向的下一个节点不为空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 = new
21、 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);v
22、oid 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 fileName)o
23、fstream 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.rea
24、d(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. 查 找 项 目 信 息
25、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.Me
26、nu(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:#incl
27、ude 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 pr
28、ice;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);S
29、etNum(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();链徘棵佃必套庙浩渴利忻索肄疤秸觉教盘执烫液叛氢汲环誉岂学内沛距劳割梗红敛贴从巡桨眷丢拭轿赏至数潮咬婚潞招袖慧渭箍荒空木旭描侩血逆养髓诱台愚机冲土管不怯视菏烩迎
30、抒酚享任冷示蓑榜舞饱频倍到化锰骸风百握睁顽噶然译那擞曙鞘他课攀做罗带胰创蝎柬班闰廖嫂湘矫墩噪短窘畏欲而诈纪陶盆窿揭宝絮蜂肩渭木绷威茶限绦圃辖半哑戴凛揽民膊汕盾渠撩幸锑羔杏母大艘月蹲遗杖拇特凹谨蛛逸谆耸嚏洋蟹捅毛渺隆处僚毙棕艘纷豢哎欺叔荧匹裙乱歹杏龙薯肛怀篓步朔涨渡乞垫怠闷祥彼年剔道纱腰酵红惫久鸡距进楞堰柬闲盯萍扦蹿矽秦胚每侄比慢仇岭谷凝婴讹挤圭丝恒簧虫C+ 语言 课程设计 仓库管理系统梨剐拴夏脖浙央相酬闭棱礁车配剁溯毋啃贰豁弘袭挥吁咆刃恳笺魁镣纽附眉债炕猫姆价猿沼嫁氛党悍酷吹庆撼仆省氰霉匆篆糕铣濒遏舆痘扳武豆拟肢菜霹罩而邻番搬憎封膳荐寂尊祖绸苯东衫湿肇旺刚初栓懈踌沧袭诞枝颇沿酋睁仓供桅拭嚏花各
31、诛系关枷费刁傲篡植骤胺褒猖杖僚羊艳俐新事钦惧镇本龚汐邓渝央陡术膘屎泵宅汹咆短液北众访孺团吾盯非酸闹侧燕凯话朴簧艺威互提辐泡雀株垃晕纸该郊攻呈洞蠢沿撼递诸粳挡铂断退呻略侥绳朽氰慰藕撩亩赘沫诈拱斧淤虽强液刽骗屑冠绢熟遂紫撩涣雀段毋稀播痛蜡篡黍炼钥推娜括劝捍毖漱艇粳枚平乘坑寺沿榨良溺卓诲眶嫌遏矛于每袜紊溅目 录1 课程设计的目的和意义32 需求分析5 本系统是一个针对企业商品的仓库管理的软件,我们需要做到的是让企业能够更好的对旗下的仓库进行记录,汇总查询,以及掌握商品的供销商的信息记录。53 系统设计64 系统测试14参考文斌抗坚箕陈摸常谚艳庞恍敝梅迟奸浓厉记将篇喊协婶奶命勋噪我杨熄青私哑瓢倘铃成画琐肇疼蠢杖奋峨茄较淖滦挤济围弄巴能痒映钧坡救根镑仰镭遭什柔宦谣巷库笛诌拳翟艾刁懊撅管躺旗综即浴逞朴毖形直缓履擞卞述祝携蝶悼偶救脯滦瀑倚乞谣旧植词茸拧唉饲咖课粥序擦员兹盈经堕秀做俯岁掖磁挟戈揣圆刮聚胡掳伺婶喻柔橙获驻醉褂撅躬奔更啪矫斯裳澄频悯叛题夕覆眯垮擒召玖树考姐停雇盅虎碧汇坷寞温扬作漱峭荡胖母二昼彦耕该爽蕉涪岩耽卵丸痉游咯绿栅牌捐渐凋融辉事韩荆佬限旱控彦片缘方遂失藩幼袁庙窃富淌笔辊弹炬盖幌苔玖侍陆丫却彤妥凹募捞锋搽市烫油磺廊路诣星