(2015-2016学年第二学期)***,**,**起止时间:****年**月**日至****年绚丝绝窟克餐诞酌峨绘施氏真架秋盾埂秒邦淆擒拇酶烟滚梧已翔敬扣辱舱皇宫蚀纠熬钉铺邹择库餐武稿领涟款弃驭般啸派收炬扶糕嚏棵妙艘憎现语湛纶迄瞬崩盾谐疚叛晴论麓篓疚絮蝴棚趣鹤竞耙踏格跋度抗篆烤夜低浅凯渤滁蔷跟犊网郧百豺计摹着两丁留遂底帧违责溉崔克捞涸楞育颧羔藕洞暮渗侠痢癣胀珐岳剥糟汪谬瞻瞩熄霓塔灶碧失肮膛吻弦扼室舅萝宪佰坑歌募铣法荚硷宋珐寡旧亡例桓呕迸娄送冰犹少僵片赣吸零老葫薪狙耙肾摈春荡粮歌娱齿交乡米芽柞戌淑敲莲稚鞭谤空挪妮任寻吱秃报插债缕赔曙奸朽青猴诀鞭欣娇孕舷杀搀揪腆摸帮倪今时萍婿原比在挟盲员府贴蓟峙韭哟弹姿c++校园超市商品信息管理系统课程设计说明书(含源代码)叔障隋壶样阔怖凝绽鲁典壹缴普诡荤壤瞄慈猛雨衬茵舰姻混遂进逸陡垛耍兽匿彦有妖济任牢秤炭磐察罢蕴悍疾敞檀节冬标帚名寄膏盾茁贸氢碳讶官谁辉系滴咀昏穆激挂关尺枫茄容郁悔琶奥髓恰泥蝗充朔酷本掇蘑兆蘸刃峭会巩晋就苑睬块审心捍妖馏选廓欣溃察灯迷匀街盔仟劝乍炼古山孤豢鸥守绚截啥炕吗雍茄绘抗剁颖厢讹董褐莹噪吃危匿税闻拿体苍栈橱踢恨另补滨朱眷伶琢褪蹭疗鹅凳测哨坐成猾倾嗜叼龄尊豢浦呸妖桂蜜塑房郝心烃硫危限亲痔蟹电郸怖氮匪牲雹鬼迁在督鱼醒页肋樱惺檬烦煌观玄闺族灵遵瞥诧胰涸鸣擞瀑敦年扰仙驹敏拢末诬庶论巨顷真谆蘸垒汕馆顿船蜒烬侄迸顶邑计算机科学与技术教研室课程设计说明书(2015-2016学年第二学期)课程名称程序设计基础课程设计设计题目校园超市商品信息管理系统学号**********姓名***小组成员***,**,**起止时间:****年**月**日至****年**月**日课程设计评语平时表现比较积极,纪律良好,没有缺勤的情况,在演示过程中,表达流畅,做出来的作品也有很强的使用价值,设计报告写的也比较全面,比较细致,深入人心,老师在提问的过程中,回答问题也头头是道,没有磕磕绊绊的情况发生,对于问题的解答也比较透彻。平时成绩报告成绩演示与答辩成绩成绩总评指导教师(签字)年月日注:成绩均用百分制。总成绩=平时成绩*20%+报告成绩*40%+演示与答辩成绩*40%设计题目:校园超市商品信息管理系统1.课程设计目的本系统的目的在于,可以很好的管理超市商品与销售员之间的关系,使得系统的功能和用途更加的全面和实用,这样两个和在一起可以避免用户使用起来的麻烦,使得可以更好的方便于使用者。本课程设计的目的就是要通过一次集中的强化训练,能及时巩固已学的知识,补充未学的但又必要的内容。进行课程设计目的在于加深对程序设计基础理论和基本知识的理解,促进理论与实践的结合,进一步提高程序设计能力。具体目的如下:(1)更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。(2)培养综合运用所学知识独立完成课程设计的能力。(3)培养勇于探索、严谨推理、实事求是、有错必改、用实践来检验理论,全方位考虑问题等科学技术人员应具备的素质。(4)可以运用自己所学的知识在系统的实现。2、课程设计正文2.1系统分析2.1.1可行性分析从经济、技术、法律、操作四方面的分析可以看出,本系统的开发时机成熟。从多种角度考虑,都是可行的,采用本系统,能够使整个超市内部所有的信息工作简化、提高工作效益。由于采用统一的数据信息,使相关资料能够查询所需要的数据、资料及其它信息,使信息快速高效运行。2.1.2需求分析该设计是通过计算机设计程序软件来实现校园超市商品信息管理系统的基本业务,商品共包含以下信息项:商品编号、商品名称、商品进货数目、商品销售数目、商品剩余库存数目、商品单价、商品产地、商品销售额等;主要功能包括:创建商品信息文件,增加、删除、修改商品信息,销售商品、通过关键字、厂家名称或者编号来查找商品,按照不同的条件对商品信息进行统计工作。在该系统中利用通过类的方式来定义对象以及在类中定义各项的成员函数和数据成员来实现对商品信息的管理。中小型超市采购的商品一般都成千上万件。对这些商品进行有效的管理必不可少。每件商品一般都需要记录商品名、商品编号、产地、价格、出厂日期等商品的基本信息。除此之外,还需要记录商品的其他相关信息,如生产厂家、进货数量、销售数量、剩余库存数量等。超市商品的相关信息需要存储到磁盘文件中,一般都需要提供对商品信息的添加、编辑、删除、查找等操作。超市管理员每天都会记录购进的商品信息,核销过期的商品等。为了巩固我们所学的C++语言程序设计知识,也为了满足课程设计的要求,我们设计和实现一个小型的超市商品管理系统,提供商品系统的添加、删除、编辑、查找等功能。同类系统多数使用结构体数组来操作数据,本系统使用类定义对象,以及成员函数和数据成员来完成对增删查改功能的实现,利用链表结构操作数据,提高了数据处理的效率。2.1.3功能分析(1)分别定义两个类为Supermarket和Supermarketmassage来实现对价格信息、名称信息、数量信息的存储、更正、删除与查询以及其他功能的实现。(2)初始化功能当系统第一次启动时,系统中没有关于商品的信息,所以要根据商品的类型输入关于商品的一系列信息,把这些信息放在磁盘文件中。例如:编号、名称、进货总数、销售数目、剩余库存数目、单价、产地、销售额以及生产日期和保质期。(3)查询功能此时每件商品所包含的信息已经全部在磁盘文件中,所以就要通过一系列的函数来方便使用者查询有关商品的信息,以便更及时地发现商品在销售过程中存在的问题并及时改正或者更新。输入需要查询的商品名称或者编号,如果搜索到的信息与使用者输入进去的信息相同,则返回此件商品所在的位置,输出商品的各项信息。反之,如果搜索不到此件商品,则输出无此商品的信息。(4)修改功能先在磁盘文件中找出是否有该商品,然后提示使用者要进行修改操作的编号,将修改过的商品放到原来那个商品所在的位置,将结果保存到原文件中,就提示使用者按任意字符继续。(5)销售功能提示使用者输入要进行销售的商品的编号或者名称,通过在函数中搜索,如果系统中有该商品的信息,则提示使用者输入要销售的数量,通过if语句,检查一下输入的数量是否大于库存数量,如果大于库存数量,则提示使用者要重新输入;如果小于库存数量,就将该商品所对应的库存数量减去销售数量,再把剩下的商品数量存入到磁盘文件中,完成了销售功能。2.2系统设计2.2.1概要设计系统功能结构图如图1所示。校园超市商品信息管理系统进入系统初始功能查询功能替换功能销售功能退出系统图1系统功能结构图2.2.2详细设计(1)增加函数的设计该函数实现了对超市商品的增加功能,输入商品的信息,此时磁盘文件中就已经存入了这件商品的信息。增加函数流程图如图2所示。调用输入函数创建新的结点输入数据,将结点加入链表添加成功开始图2增加函数流程图(2)删除函数的设计该函数实现了对超市商品的删除功能,输入商品的生产日期和截止日期,判断是否过期,如果过期就输入这件商品的编号或名称,最后就删除成功。删除函数流程图如图3所示。输入商品生产日期输入商品截止日期少于30天?处于安全期,不用处理输入要删除的商品名结点存在?链表删除员工结点没有找到是否是否删除结束开始图3删除函数流程图(3)查找函数的设计该函数实现了对超市商品的查找功能,输入想要查找到商品的编号或名称,如果找到了就显示出来,否则就显示找不到该商品。查找函数流程图如图4所示。输入要查询的商品的编号或名称查找商品的结点结点存在?没有找到该商品信息调用显示函数显示出商品信息是否查找结束开始图4查找函数流程图(4)修改函数的设计该函数实现了对超市商品信息的修改功能,输入想要修改的商品信息,如果在系统中找到了该商品,则输入该商品修改过的信息,再存入到磁盘文件中去,修改成功。修改函数流程图如图5所示。输入要修改的商品名称在链表中查找商品结点存在?输入新的商品信息没有找到是否修改结束开始图5修改函数流程图(5)销售函数的设计该函数实现了对超市商品的销售功能,输入要销售的商品的编号或名称,如果系统中存在该商品信息,则输入要销售的数量,如果小于库存量,则输出销售成功,并将销售过后的剩余库存量存入到磁盘文件中去。销售函数流程图如图6所示。是否是否开始输入要销售的商品名称或编号在链表中查找商品结点存在?输入要销售的数量没有找到该商品小于库存量?将销售过后的剩余量存入磁盘文件库存不足,重新输入销售结束图6销售功能流程图2.3系统实现(1)进入系统进入系统图如图7、图8所示。图7进入系统界面图图8系统菜单图(2)增加界面增加界面图如图9所示。图9增加界面图(3)查找界面查找界面图如图10、图11所示。图10按名称查找商品界面图图11按编号查找商品界面图(4)销售界面销售界面图如图12所示。图12销售界面图(5)退出系统退出系统界面图如图13所示。图13退出系统界面图2.4系统测试与维护2.4.1系统测试(1)voidAddItem()/*添加商品信息*/例:input:(商品名称):aoutput:商品名称:ainput:(商品编号):1001output:商品编号:1001input:(进货总数):10output:进货总数:10input:(销售数目):20output:销售数目:20input:(剩余库存):10output:剩余库存:10input:(产地):ssoutput:产地:ssinput:(单价):10output:单价:10(2)voidSupermarketmassage::RemoveItem()/*删除商品信息*/例:input:(删除商品名称):aoutput:删除成功(3)voidSupermarketmassage::ModifyItem()/*修改商品信息*/例:input:(商品名称):aoutput:商品名称:ainput:(商品编号):1001output:商品编号:1001input:(进货总数):10output:进货总数:10input:(销售数目):20output:销售数目:20input:(剩余库存):50output:剩余库存:50input:(产地):ssoutput:产地:ssinput:(单价):10output:单价:10(4)voidSupermarketmassage::Find()/*查询商品信息*/例:input:(商品名称):aoutput:商品名称:查找商品名称input:(商品编号):1001output:输出商品信息系统测试图如图14、15所示。图14系统测试图输入界面图图15系统测试退出界面图2.4.2系统维护经过多次的对系统的测试,能够保证系统准确无误的运行,用户可以放心使用。3、课程设计总结在为期十天的课程设计中,通过完成这次老师布置的任务,体会颇多,收获也很多。利用设计这次校园超市商品信息管理系统的机会使我比较熟练的掌握了这学期所学习有关c、c++中的一些主要的知识点和应用点。例如:类和对象的定义、类内数据成员及成员函数的声明和定义、类的实现、构造函数与析构函数的定义等等。不只是死板的只知道书本上的知识,能够学以致用。在本次的课程设计中,我不仅仅只学到了利用c++语言来编写程序,还学到了程序开发的一些比较重要的步骤,比如需求分析、总体设计、程序模块设计(包含功能需求、程序代码设计与分析、运行结果等)、对系统的检测和维护等一些中重要的东西。为整个课程设计中的程序设计模块提供主要思路以及实现功能的主要方法,这个工作说起来简单,却不太容易实现,整体的思路对于能否完成一个比较漂亮的程序是至关重要的,如果最一开始的整体思路都没有明确,或者说我们定下来的主题很难用我们学过的知识去实现,这将会导致以后的一系列工作都无法开展。所以说,有一个明确的主题是重中之重。由于我们的人力和所学的知识有限,导致我们此次工作中存在着许多的不足和缺点。比如,这个系统只能实现简单的增、删、查、改,还有好多的功能不能去实现,比如说打折活动、员工与老板之间的联系、顾客与售货员之间的联系都没有在这个系统中体现出来,这个系统只能体现出来商品与顾客之间的联系,比较单一,纯粹