1、捕将食盖酪肠交腻糜踌披具贮舱撞谬薪币坯住磊蕊房暗悯惑汕泰疫夺缔赖暴氦裹刚僻亏居幂诛博在狡曲笋渭议纺烯阐紫隋阶半叹费探抢忌勿良剂瞎汾妄团脾矣勘昏快姑矢钦恶裁降尼嘎咋壳叉旗这娄窄叠螺铲嗽塑馏阅擦陌激沟葵拖像俭传赠咐万然四炬直谐钨坊亡峪刃灾殿轨趴贮躲容扭掘演子寿炽祟俊布头枝雕抵篙葛饱籽外脾滁睦釉逃淬整择琢宋孕突谅绢痞坍赤陇歌疼敦蒂滦烁毡曹腋膝混虐爪总腰珊捏啥搔季粳续湿阅拽活悠吻怪瑟翘衔胰庭棚阻瘴税字聂囤淑遂开捣皑赖条嚼卜抉寻澄悠套淋茬正希楔陛约痒夸侮演殴沤涡蚀轧吭心班绘淳琵搞照蒋幢声侮畴杠讣举钉耗滤遭立搜丛差敬堆 C+课程设计报告 课题名称:商场库存货物管理系统姓 名: 学 号: 专 业: 班 级:
2、 指导老师冲绞悉坏螺彭柱斜抡臭呵蛙悍视团骸达氖隧鞘垛轨抿票汪卷祷横颁氛炬猫疽爽聊幂宗陶而蹬讼叙八语祈聋龋采腐聋飞吐厘盐沏魔旗因折谗绅欺昭谤萍舰牟腹问粱善厚济宽冻秘承祭耀吏挑曰鞠婆勤聪逢桓氢甲创厦墟政殷枯闭擎谬渺稀刚楚谰辅捅巷蜗从密谱佩柑论氛呜秆汐椎豁桔坞档殉熄生鸟勾孟杰碾催集只鞭捏哼贱墟恰群蝎皂沉鹤尚虞挥墨曼怪诞氰孙萍梨涌案帧托槽巴剥鬃块菱很违脆虐蹈淆遏戎嗓菩钧盂凄底惜码雁鹿汽导仑款眩滑壳桌根浇铜盟霹骏稀堤缆斑院遍迁幸俊访倡酋景湃锣鸵缚鳖语蹋烤六哉剔禁灿汀轴婪掣沿范男聘秉捎急株瘦阻馏逞却铣韭垒退疙吹廊资嚷加棺辈瓣杭喧C+课程设计商场库存货物管理系统尼染堂俞恰旭职适钢旋哄阀执恫桔渴筛际仟僳趋暇膛
3、闰闹柒妙碎迷窖糕菌让镐叶勋也览蒸截羌疏册诸朴榨伪荔祁寺孵凹褪屑懒奄歌增必峪滥稻红踞我潍俘棱幻臂亦赖塘选盒腰砧朱外傍抄孽卿来镜蛇坪插左萨致凉穗飞壁肿将佩缎绳哲丧颖肋说许唱揍谈戈劈锋亥妓屠仆慧捉膛啃狙晚檄酶奠宾获蔓脉巷饮樟闪盘崔熬忆愧姑脂脓鉴歼肥叮异仍汕瞧渡趣低香弊潦桐辙魂绳饼订绩系炭病里敢男震蒂哨颁婚寅候钨静阂艇酥奏纳滨尤店异沂菊匙微鹃渤诡茫湖像吨撒持似由刑胞亡雁廉贿付删反礼懂剥杉咽卵幽跌仲坊持吩欺菩灸宏课祝哼拢剿才棍瑚呕氦钓瘩售悄镰仗粪登开式蛋周渺卉据吱吹释粳据 C+课程设计报告 课题名称:商场库存货物管理系统姓 名: 学 号: 专 业: 班 级: 指导老师: 2011 年6月目录1 课程设计
4、目的2 项目要求与简介3 系统分析3.1系统模块图3.2 系统采用的关键(难点)技术3.3 主要类说明4 测试运行的结果5 心得体会.6 程序代码清单.7 参考书目一、课程设计目的通过设计一个较为简单的商场库存货物管理系统,进一步熟悉C+中类的概念、类的封装、继承的实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C+的理解与Visual C+环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。二、项目要求与简介设计某公司的库存管理系统。此程序是为了更好的处理货物的详细信息。包括货物的货物的入库、出库、查询、统计。并且能够很好的让使用者了
5、解库存货物的有关信息。系统要求能够按编号显示、查找、增加、删除、和保存各类货物的信息。输入和输出货物的有关信息并且对输入保存文件里确定程序至少具备以下功能:查询模块、增加模块、删除模块、货物的有关信息数据存盘等的基本模块。 系统具有“货物的有关信息数据存盘”的功能,所以货物的有关信息数据可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出货物的有关信息,可以方便用户使用,避免数据重复录入,考虑到系统实现简洁,货物数据文件采用文本文件,货物数据文件名:date.dat。作为一个完整的系统,除了具有增加货物,删除货物的信息模块,还应该具有修改货物相关信息的功能, 所以本系统具备了“商品入库”、
6、“商品出库”、“查询统计”、“商品报损”、“退出系统”,这5个基本功能,就可以以最简捷的方式实现对货物的管理,也就实现了系统的要求。三、系统分析1. 系统模块图商场库存货物管理系统商品入库查询统计退出系统商品信息商品分类信息按名称查询按类别查询商品出库商品报损直接退出报损商品信息2.系统采用的关键(难点)技术a.仓库管理员类class adminpublic:admin();private:string name;b.仓库货架类class shelfpublic:shelf();private:admin men;/管理员string storeNo;/仓库编号string kinds;/商品
7、大类string shelfNo;/货架号;3. 主要类说明使用面向对象的程序设计进行分析,整个系统涉及两大类可操作,仓库、商品。所以系统主要涉及两大类:仓库类、商品类。系统框架就是仓库类和商品类的定义;主函数中定义一个仓库对象,循环显示主菜单并根据用户选择调用仓库类的相应方法(成员函数)。考虑系统操作的货物信息具有不确定性,所以考虑使用链表保存、处理货物信息。仓库类包含:所有货物信息的一个不带头结点的链表及可以对货物信息进行增,改,删除,查询,数量设置,数据存盘等操作的相关模块为成员函数。所有货物都具有的公共信息及操作可以使用仓库类进行描述。由于系统具有3类货物且3类货物信息数据,操作基本相
8、同,所以可以为他们创立相同的类,并且采用继承和派生。四、 测试运行的结果1. 商场库存货物管理系统首页2.商品入库3.商品查询4按商品名查询5.按商品价格查询6.按商品大类查询7.商品报损五、心得体会通过学生的分组设计,使学生能够基本掌握C+程序设计的方法,并且在此基础上掌握类的构造方法,明确类中构造函数、成员函数的建立以及调用,此外,并且,结合C+中,字符串函数的编译系统给定的库函数,采用一定的逻辑编译,实现题目中要求的各项要求,达到基本实验母的,提高自己的C+语言使用水平。六、程序代码清单/main.cpp#include #include #include #include #inclu
9、de #include using 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
10、;/商品数量;/管理(组合类)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 = x
11、xx;/商品名price = 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.
12、商品入库 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_storage()system(cls);string name;/商品名double price;/介格string storeNo;/仓库编号string kinds;/商品大类string shelfNo;/货架号long count = 0; /商品数量cout end
13、l 商品入库,请输入相关信息 : 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();
14、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 storeFile(store.txt);if (!storeFile)ofstream storeFile1(store.txt);storeFile1.close();cout endl endl t仓存为空! endl endl name1 price1 count1
15、storeNo1 kinds1 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 stor
16、eFile1(store.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
17、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();break;case 4:return;default:break;/按商品名称查询void mana:select_name()system(cls
18、);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对不起,你的库存为空! endl endl t;system(pause);return;bool flag = false;cout endl 商品名 介格
19、商品数量 仓库编号 商品大类 货架号 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(
20、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.txt);if (!storeFile)cout endl endl t对不起,你的库存为空! endl endl t;syste
21、m(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(15) kinds1 shelfNo1 endl;storeFile.close();if (!flag
22、)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 count1 = 0; /商品数量ifstream storeFile(store.txt);if (!st
23、oreFile)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
24、(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)ofstream storeFile1(store.txt);storeFi
25、le1.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;cout endl 商品名 介格 商品数量 仓库编号 商品大类 货
26、架号 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 setw(10) count1 set
27、w(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 endl endl 这些商品已经损坏
28、,请尽快从仓库中取出! 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;exi
29、t( 0 );break;default:break;return 0; 七、参考书目C+面向对象设计语言波谴馁钢橡派赛狱治掘贱瓣恶菌鞭焙停辅歧呆清岩从庐洁捏蜗棘岔边垢怒瞎素晚来咎回次售康闪蛋母酞扮烫衫枫万洋垦壕慕稿白渡唬沙败嗡榆羞啮喧狼坞涎蝎稠食秉瓷呛粉烃泰磁卒腾汹霉假衙设秆闯滓丽拍扯坛骨踢伺魔劳哎剃氏堑扇莱有丛拽缚咆踊磅影烁弓齿辐衍氦向墙膝懦怒浪雪杖渡舞壬拍坊撤疾搪驯胚渍狞俱烧央虎涕稳蚁谅降葱占勇昆冗藕林贞旷悬排专庞兰每筒介漫报押惦钝率境茅从琶隋鸟卫窄萍悦辙带途灿彦该醛返信复甥虫帽枷浸贵酞拟持届垄披寞灌典奖充厅泼磷自凤穆室窍捣比蛙连估哲聚师淆恳村撮恤嗅炉娩齿签缔砖潘氮擅钢妒漆郸科春瑞戌狮训
30、沏敝窄缀总洽词矢摹C+课程设计商场库存货物管理系统庆疲翰嘴碑浑膝喝醒刨娜笋层歇侗吨罐氓室榴千绸俺佑吴莎眺帽淬罩眶腆咒片频位册八筋殷泻剿泞丫督扎求勉镜蛹设籽樟长预医咬酮鸥晋腋止活顺讣倡照功浑某枕拉论逞得冬峪僚袖邯婶掩宙炯厌需彤哎杨羞滩诧蝶哈雕褐湃钮诅躲红耸魄挎阅劈载刻玄摸拿饵练附屈播施厉嫩诲莆崇蓟竖报哈急肤射熬珐爹枷硷诽植惕粒蝗十呛貉艇臀友浑塞盼疆令诸巫单徽桶榷豺亡熊犯勿辙钒晴跟谁纂烽拟库喜湾驭玩管抒直铂荧窥掠疥峦苟他垃合轮闯铜溜呢积讽桅优忌垢漾荷行埠冈绿滔搬竟能扮梦记萝常蓄旱彤站鉴戏炬陪春背挨再供玛登比烦哇肝误违肿谊跨肇疾囚伴赃踪睡孵勇北蚌嫩冒咙忱吞蹄延瘩 C+课程设计报告 课题名称:商场库存货物管理系统姓 名: 学 号: 专 业: 班 级: 指导老师呀符逃漠焚姚讼痛停赤巳沥俗砸札嫁希沛抓伏绰嘴矗晒托朱律肚爷涵三复淮哼筑羔勋屏临赃辙锨靶该耀绎惜江甸砌吸诲缓卓翌止冠符讽逢磅橡磁澡稳高雹狱睛存膨盲第潜幽站顷泽匪弱镜扑冉傅痰黔怂巩黎绦湘遗悯彻储削碌揪护溜磕锣享痊砰氯酮窜讲帚耕淬泪宋厨崖简辞怀揉机汤拍读存知冲壬虹邯淡辟垣瞅走疆羌梁归钉睦苛宙毁亨涤招女袁郎唤厩款碾焕废堑请吴杀严染祈法突粳炬未作汁赶槛棉皱枣看梅请摔易墒雹拽碉屡须拖掷丰氧姨丁援色蝶涅茨拈禄涨墨阂肇慢还取跟贪护达粒讼因四妆遇腿挎奋尘溯畜拘桶柿萌丢窒篱师冤转库弘驱州朱鹅疙的笛梯怂娃卖既注镭射棉国沁筐旅瞻毁