您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 实验室设备管理系统设计书
*******************实践教案*******************兰州理工大学计算机与通信学院2013年春季学期C程序设计课程设计题目:实验设备管理系统专业班级:通信4班姓名:朱卫平学号:12250405指导教师:李聪成绩:目录目录…………………………………………………………………………………………………1中文摘要……………………………………………………………………………………………21.课程设计目地……………………………………………………………………………………32.程序设计思路……………………………………………………………………………………33.功能模块图………………………………………………………………………………………44.主函数模块流程…………………………………………………………………………………45.详细设计…………………………………………………………………………………………56.程序运行结果……………………………………………………………………………………117.总结………………………………………………………………………………………………158.致谢………………………………………………………………………………………………199.附录………………………………………………………………………………………………20实验设备管理系统摘要实验室设备管理系统是典型地设备信息管理系统,要求能为学校实验室管理提供信息化动态化地管理,方便实验室设备管理工作,提高设备管理质量和使用效率.而且系统应符合设备管理地有关规定,包括新设备地申请,购买确认,新设备信息录入,旧设备维修和报废及用户管理等.能满足日常工作地基本需要,并达到操作过程中地直观,方便,实用,安全等有关要求.实验室设备管理系统是一个典型地信息管理系统,采用面向对象地分析方法,给出系统地基本结构、设计特色、设计模型及实现途径,并且对系统地开发技术进行研究。本系统是一个为适应对学校实验室设备管理地迫切需求而设计开发地软件系统.关键词:实验室设备、管理系统、结构体、文件、数组、函数1.题目要求实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等.2.需求分析实验室设备信息用文件存储,提供文件地输入输出操作;要能够完成设备地录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备地查询可根据设备编号设备种类设备购入日期正常设备(未报废地)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择.整个系统可设计为实验设备信息输入模块实验设备信息修改模块实验设备分类统计模块实验设备查询模块和实验设备报废信息模块.建立实验设备信息结构体,结构体成员包括设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期.3.功能模块图主要功能:录入设备信息、修改设备信息、查询设备信息、按设备编号查询、按设备名称查询、对设备按种类进行分类统计、报废设备登记、报废设备统计.图1实验室设备管理系统设计4.主函数模块流程图2实验室设备管理系统主函数模块流程图实验报废设备信息模块实验设备信息输入模块实验设备信息修改模块实验设备信息查询模块实验设备分类统计模块退出实验设备管理系统退出系统读取数据报废统计报废统计查询信息报废登记录入信息修改信息修改信息查询信息分类统计开始主菜单选择录入信息报废登记分类统计报废查询报废统计退出系统查询信息修改信息NY密码5.详细设计5.1声明函数intmenu()。//菜单voidlr()。//录入信息voidxg()。//修改voidcx()。//查询voidcx_sbh()。//设备号查询voidcx_mc()。//设备名称查询voidtj()。//统计voidbf()。//报废信息voidbf_dj()。//报废登记voidbf_tj()。//报废统计voidchoose()。以上为本程序地函数声明5.2菜单函数菜单函数用voidchoose()声明,其中应用了do...while(choice!=0)。循环,在循环过程使用了switch(choice)选择.当输入0时,系统跳入到“提示:你已经退出系统再见!”地输出.break终止接下来地步骤.当输入1时,系统跳入到录入地子函数中,break终止接下来地步骤.当输入2时,系统跳入到修改地子函数中,break终止接下来地步骤.当输入3时,系统跳入到统计地子函数中,break终止接下来地步骤.当输入4时,系统跳入到报废地子函数中,break终止接下来地步骤.当输入5时,系统输出“提示:输入错误!\n”,break终止接下来地步骤.其中地数据输入为int类型.voidchoose(){intchoice。choice=1。choice=menu(choice)。do{switch(choice){case0:printf(\n提示:你已经退出系统\n\t\t再见!\n)。break。case1:lr()。break。case2:xg()。break。case3:cx()。break。case4:tj()。break。case5:bf()。break。default:printf(提示:输入错误!\n)。break。}}while(choice!=0)。}intmenu(intchoice){printf(\n\n\n)。printf(\t\t\t--------------------------------\n)。printf(\t\t\t+实验设备管理系统|\n)。printf(\t\t\t--------------------------------\n)。printf(\t\t\t+[1]----录入设备信息|\n)。printf(\t\t\t+[2]----修改设备信息|\n)。printf(\t\t\t+[3]----查询设备信息|\n)。printf(\t\t\t+[4]----统计设备信息|\n)。printf(\t\t\t+[5]----报废设备信息|\n)。printf(\t\t\t+[0]----*-EXIT-*|\n)。printf(\t\t\t+*·*·*·*·*·*·*·*·*·*·|\n)。printf(\t\t\t--------------------------------\n)。printf(请输入你要操作地序号:)。scanf(%d,&choice)。returnchoice。错误!未找到目录项.}5.3录入函数录入函数用voidlr()声明,用到while(1){}循环,其中数字1是“true”地含义.如果IF判断成立,则将进行录入.分别录入设备ID号、设备名称、设备种类、报废日期、设备是否报废,1.没报废,0.报废、购买时间和设备价格等内容.当其中地一条记录录入完成后,系统会提示是否已经完成一条记录地添加.(注:其中地“t++;”不能丢,其在循环中起累加地作用)其中地数据输入为char类型.录入函数还应用了结构体数组地知识如下:typedefstructshebei{charid[10]。charname[15]。charkind[15]。charover[15]。intyesno。chartime[10]。charprice[10]。}shebei。shebeisb[200]。其中地shebeisb[200]要求最多录入200条信息.分别录入设备ID号、设备名称、设备种类、报废日期、设备是否报废,1.没报废,0.报废、购买时间和设备价格等结构体数组.其中地数据输入为char类型(除intyesno外).voidlr()//录入信息{while(1){if(strcmp(sb[t].id,0)==0)main()。printf(\n请输入设备名称:)。scanf(%s,sb[t].name)。。}}5.4修改函数修改函数用voidxg()声明,函数用了if...else地选择和switch地选择,其中if...else地选择包含在while循环中,并用了break地跳转语句.if...else语句更好地避免了输入进入死循环.如:if(x==0)break。else{printf(继续操作请输入1\n)。scanf(%d,&x)。}修改函数中还使用了strcmp判断函数,当strcmp判断函数判断成立时,给予使用者符合要求地提示,使用者然后进行操作.如:strcmp(sb[t].id,find)==0.在Switch地使用中,其实现了返回主菜单地操作.如:switch(x){case0:choose()。break。case1:xg()。break。default:printf(输入无效,自动返回主菜单\n)。choose()。break。}其中包含地数据类型有int类型和char类型两种.如:intx,charfind[20].voidxg()//修改{charfind[20]。intx。t=0。printf(请输入要修改地设备ID号:)。scanf(%s,find)。while(1){if(strcmp(sb[t].id,find)==0)//如果找到地话返回地是符合要求{break。}elset++。}while(1){printf(确认修改请输入任意数字否则输入0重新输入设备原id:)。scanf(%d,&x)。if(x==0)break。else{printf(请输入新设备号(原来是%s):,sb[t].id)。scanf(%s,sb[t].id)。printf(\n提示:该项记录资料已经成功修改!\n)。printf(退回主菜单请输入0\n)。printf(继续操作请输入1\n)。scanf(%d,&x)。}}}5.5查询函数查询函数用voidcx()声明,使用do...while(choice!=0)。循环,其中含有switch(choice)地选择语句.当选择0时,跳回menu函数;当选择1时,跳到设备号查询函数;voidcx_sbh(){do{if(strcmp(sb[t].id,find)==0&&sb[t].yesno==1)//1表示设备没报废{t++。}elset++。}while(t100)。if(choice==1)choose()。elsecx()。}设备号查询函数用voidcx_sbh()声明,使用do...while(choice!=0)。循环,其中含有if...esle地选择语句.其中包含地数据类型有int类型.如:intchoice等.当选择2时,跳到设备名称查询函数;voidcx_mc()//设备名称查询{do{if(strcmp(sb[t].name,ming)==0&&sb[t].yesno==1)//1表示设备没报废{}elset++。}while(t100)。if(choice==1)choose()。elsecx()。}设备名称查询函数用voidcx_mc()声明,使用do...while(choice!=0)。循环,其中含有ifesle地选择语句.其中包含地数据类型有int类型.如:intchoice等.否则输出输入无效请重新输入.查询函数包含地数据类型有int类型.如:intchoice等.voidcx()//查询{intchoice。do{switch(choice){case0:menu()。break。case1:cx_sbh()。break。case2:cx_mc()。break。default:printf(输入无效请重新输入\n)。cx()。break。}}while(choice!=0)。}5.5统计函数统计函数用voidtj()声明,在if地使用中,其实现了返回菜单地操作.如:printf(键入数字1返回主菜单\n)。printf(键入数字任意键返回上层菜单\n)。scanf(%d,&choice)。if(choice==1)choo
本文标题:实验室设备管理系统设计书
链接地址:https://www.777doc.com/doc-5165879 .html