您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > c实验设备管理系统程序报告
I目录一、需求与功能分析第二章概要设计.............................................................................................................................52.1总体设计.......................................................................................................................52.2面向对象设计...............................................................................................................52.3运行界面设计...............................................................................................................6第三章详细设计.............................................................................................................................73.1系统设计与实现...........................................................................................................73.2模块设计.......................................................................................................................8第四章测试分析.........................................................................................................................10第五章课程设计总结...................................................................................................................10附录:程序代码(仅电子版需要、纸质版不需要).....................................................................2一、需求与功能分析1.1需求为了方便管理校内各种实验设备,能够翻遍快捷的录入查询各个实验设备的基本信息而编写了此程序实验设备管理系统设计实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。1.2主要功能:1、能够完成对设备的录入和修改。2、对设备进行分类统计。4、设备的破损耗费和遗损处理。4、设备的查询。1.3功能需求1、可实现管理员登陆管理系统,游客查询系统。2、对实验设备类型的管理。3、对实验设备各项信息的录入和修改。4、对实验设备的分类查询统计。5、对实验设备的遗损处理二、概要设计2.1总体设计程序总体共分为4个类:1、菜单类2、设备类型类3、设备类4、管理员类由主函数主持整体运行,由菜单类调用其它三类2.1面向对象设计1.设备类型类:(见图2)voidshuru();//设备类型的输入voidtianjia();//设备类型的添加3voidshanchu();//设备类型的删除voidshow();//设备类型的输出显示voidxieru();//设备类型的写入voidduqu();//设备类型的读取2.设备类:nfom*write()//设备的创建写入(见图3)Infom*load()//从文档中读取数据(见图4)voidacquire(Infom*head)//分类查询数据(见图5)voidacquire2(Infom*head)//查询全部数据(见图5)voidacqu(charchoose)//分类查询的内容支持(见图5)voidadd()//添加新内容(见图6)voidundo(Infom*head)//删除(见图7)intsave(Infom*head)//将现数据进行保存voidrevise(Infom*head)//修改数据voidclassify(Infom*head)//对数据的分类统计(见图8)voidclasK(Infom*head)//类型的分类统计(见图8)voidclasP(Infom*head)//价格的分类统计(见图8)voidclasE(Infom*head)//是否报废的统计(见图8)3.管理员类:voidcreate()//创建用户名和密码intlog()//登陆voidchange()//修改用户名和密码2.2运行界面设计运行界面由菜单类实现;菜单类:1.intmenu1(device*p,structShiyanEquip*head,DeviceTipe*a,manager*b)//管理模式主菜单2.intmenu2(device*p,structShiyanEquip*head,DeviceTipe*a)//游客模式主菜单3.structShiyanEquip*entering(device*p)//管理模式录入菜单4.structShiyanEquip*entering2(device*p)//游客模式录入菜单5.structShiyanEquip*change(device*p)//修改菜单6.structShiyanEquip*query(device*p)//查询菜单7.structShiyanEquip*statistic(device*p)//分类统计菜单8.structShiyanEquip*account(manager*b)//账号菜单9.structShiyanEquip*type(DeviceTipe*a)//设备类型菜单4三、详细设计3.1系统设计与实现【总体框架、流程设计,模块划分及接口设计等】总体框架:登陆创建开始录入主菜单2全部查询创建查询主菜单1分类查询录入载入添加统计分类查询全部查询删除修改添加载入查询修改设备类型修改账号类型统计输入报废统计载入价格统计显示删除图15接口设计:1.intmenu1(device*p,structShiyanEquip*head,DeviceTipe*a,manager*b)[功能]调用管理模式主菜单并指向管理模式各项分菜单2.intmenu2(device*p,structShiyanEquip*head,DeviceTipe*a)[功能]调用游客模式主菜单并指向游客模式各项分菜单3.structShiyanEquip*entering(device*p)[功能]指向设备类中的新建,载入和添加函数并完成相应函数功能4.structShiyanEquip*entering2(device*p)[功能]指向设备类中的载入函数并完成函数功能5.structShiyanEquip*change(device*p)[功能]指向设备类中的修改和删除函数并完成相应函数功能6.structShiyanEquip*query(device*p)[功能]指向设备类中的分类查询和全部查询函数并完成相应函数功能7.structShiyanEquip*statistic(device*p)[功能]指向设备类中的分类统计函数并完成相应三类的统计8.structShiyanEquip*account(manager*b)[功能]指向管理员类中的修改函数完成修改账户及密码的功能9.structShiyanEquip*type(DeviceTipe*a)[功能]指向设备类型类中的各个函数并完成有关设备类型的全部功能3.2模块设计【各模块的具体设计与实现】设备类型类:设备类型0载入1输入2添加3删除输入要输入的类型4显示存在删除输入要添加的类型1重输输入要删除的类型不存在0返回图26设备类:write输入load储存是否为0结束否是赋予读入结束结束load是否为空是否为空否是选择分类是否为空选择查询方式读取匹配全部显示显示结束Acquire2选择否是全部分类图3图4图57ClassifyEClassifyClassifyPClassifyK匹配2匹配3匹配1读取b[2]++b[1]++b[0]++是否为空输出结束否是删除结束输入Undo判断匹配是否为0是否否是add是否为0结束输入储存否是图8图6图78四、测试分析【测试中发现的问题及解决方案】1.缺少必要的文字描述(已解决)2.输出的格式问题(已解决)3.不能删除唯一一项数据的问题(已解决)4.设备操作中缺失最后一行的问题(已解决)5.不能返回上一级菜单的问题(已解决)6.价格统计时不能确定准确比较的问题(已解决)【对最终成果的评价】整体来说比较满意,是最近辛苦努力的伟大成果,但是有如下几点有待改进1.可以进行汉字输入但是不能进行汉字查询的问题2.管理员账号不能随意登出的问题3.设备类中没有使用private导致保密性不强的问题五、源程序#includeiostream#includefstream#includeconio.h#includestdio.h#includeiomanip#includewindows.h9usingnamespacestd;classDeviceTipe//定义设备类型类{private:charsblx[20][20];//设备类型public:voidshuru();//设备类型的输入voidtianjia();//设备类型的添加voidshanchu();//设备类型的删除voidshow();//设备类型的输出显示voidxieru();//设备类型的写入voidduqu();//设备类型的读取};//==============================================================//==============================================================classdevice//定义设备类{public:typedefstructinfom{charidnum[10];//编号charkind[10];//类型charname[10];//名称charprice[10];//价格charpurda[10];//购买日期charexist[10];//是否报废chardamda[10];//报废日期structinfom*next;}Infom;Infom*head;10DeviceTipewcs;Infom*write()//设备的创建写入{fstreamthe(aaa.txt,ios::out|ios::app);Infom*p1,*p2;head=NULL;wcs.duqu();wcs.show();p1=p2=(Infom*)malloc(sizeof(Infom));cout请输入编号种类名称价格购买日期是否报废报废日期(空格键断开/按0键结束输入):endl;cinp1-idnump1-kindp1-namep1-pricep1-purdap1-existp1-damda;thep1-idnum''p1-kind''p1-n
本文标题:c实验设备管理系统程序报告
链接地址:https://www.777doc.com/doc-1306402 .html