实验室设备管理系统设计书(21页).doc
《实验室设备管理系统设计书(21页).doc》由会员分享,可在线阅读,更多相关《实验室设备管理系统设计书(21页).doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-实验室设备管理系统设计书-第 19 页实践教学 兰州理工大学计算机与通信学院2013年春季学期 C程序设计 课程设计题 目:实验设备管理系统专业班级:通信4班 姓 名:朱卫平 学 号:12250405 指导教师:李聪 成 绩: 目 录目录1中文摘要21.课程设计目的32.程序设计思路33.功能模块图44.主函数模块流程45.详细设计56.程序运行结果117.总结158.致谢199.附录20 实验设备管理系统摘要实验室设备管理系统是典型的设备信息管理系统,要求能为学校实验室管理提供信息化动态化的管理,方便实验室设备管理工作,提高设备管理质量和使用效率。而且系统应符合设备管理的有关规定,包括新设
2、备的申请,购买确认,新设备信息录入,旧设备维修和报废及用户管理等。能满足日常工作的基本需要,并达到操作过程中的直观,方便,实用,安全等有关要求。实验室设备管理系统是一个典型的信息管理系统,采用面向对象的分析方法,给出系统的基本结构设计特色设计模型及实现途径,并且对系统的开发技术进行研究本系统是一个为适应对学校实验室设备管理的迫切需求而设计开发的软件系统。 关键词:实验室设备、管理系统、结构体、文件、数组、函数1.题目要求 实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。2.需求分析 实验室设备信息用文件存储,提供文件
3、的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号 设备种类 设备购入日期 正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。整个系统可设计为实验设备信息输入模块 实验设备信息修改模块 实验设备分类统计模块 实验设备查询模块和实验设备报废信息模块。建立实验设备信息结构体,结构体成员包括设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期。3. 功能模块图主要功能:录入设备信息、修改设备信息、查询设备信息、按设备编号查询、按设备名
4、称查询、对设备按种类进行分类统计、报废设备登记、报废设备统计。实验报废设备信息模块实验设备信息输入模块实验设备信息修改模块实验设备信息查询模块实验设备分类统计模块退出实验设备管理系统 图1 实验室设备管理系统设计4.主函数模块流程 退出系统开始N 密码读取数据Y主菜单 报 废 统 计报 废 统 计查 询 信 息报 废 登 记录 入 信 息修改信息修 改 信 息 查 询 信 息分 类 统 计选择 退 出 系 统查 询 信 息报 废 查 询 报 废 统 计 报 废 登 记分 类 统 计修 改 信 息录 入 信 息 图2 实验室设备管理系统主函数模块流程图5.详细设计5.1声明函数int menu(
5、);/菜单 void lr();/录入信息 void xg();/修改 void cx();/查询 void cx_sbh();/设备号查询 void cx_mc();/设备名称查询 void tj();/统计 void bf();/报废信息 void bf_dj();/报废登记 void bf_tj();/报废统计void choose(); 以上为本程序的函数声明5.2菜单函数菜单函数用void choose()声明,其中应用了do.while(choice!=0); 循环,在循环过程使用了 switch (choice)选择。当输入0时,系统跳入到“提示:你已经退出系统再见!”的输出。b
6、reak终止接下来的步骤。当输入1时,系统跳入到录入的子函数中,break终止接下来的步骤。当输入2时,系统跳入到修改的子函数中,break终止接下来的步骤。当输入3时,系统跳入到统计的子函数中,break终止接下来的步骤。当输入4时,系统跳入到报废的子函数中,break终止接下来的步骤。当输入5时,系统输出“提示:输入错误!n”,break终止接下来的步骤。其中的数据输入为int类型。void choose() int choice; choice=1; choice=menu(choice); do switch (choice) case 0: printf(n提示:你已经退出系统ntt
7、 再见!n); break; case 1: lr(); break; case 2: xg(); break; case 3: cx(); break; case 4: tj(); break; case 5: bf(); break; default: printf(提示:输入错误!n); break; while(choice!=0); int menu(int choice) printf(nnn); printf(ttt-n); printf(ttt+ 实验设备管理系统 |n); printf(ttt-n); printf(ttt+ 1-录入设备信息 |n); printf(ttt+
8、 2-修改设备信息 |n); printf(ttt+ 3-查询设备信息 |n); printf(ttt+ 4-统计设备信息 |n); printf(ttt+ 5-报废设备信息 |n); printf(ttt+ 0-*-EXIT-* |n); printf(ttt+*|n); printf(ttt-n);printf(请输入你要操作的序号:); scanf(%d, &choice); return choice; 错误!未找到目录项。5.3录入函数录入函数用void lr()声明,用到while(1) 循环,其中数字1是“true”的含义。如果IF判断成立,则将进行录入。分别录入设备ID号、设备
9、名称、设备种类、报废日期、设备是否报废,1.没报废,0.报废、购买时间和设备价格等内容。当其中的一条记录录入完成后,系统会提示是否已经完成一条记录的添加。(注:其中的“t+;”不能丢,其在循环中起累加的作用)其中的数据输入为char类型。录入函数还应用了结构体数组的知识如下:typedef struct shebei char id10; char name15; char kind15; char over15; int yesno; char time10; char price10; shebei;shebei sb200;其中的shebei sb200要求最多录入200条信息。分别录入
10、设备ID号、设备名称、设备种类、报废日期、设备是否报废,1.没报废,0.报废、购买时间和设备价格等结构体数组。其中的数据输入为char类型(除int yesno外)。void lr()/录入信息 while(1)if(strcmp(sbt.id,0)=0) main(); printf(n请输入设备名称:); scanf(%s,sbt.name); 5.4修改函数 修改函数用void xg()声明,函数用了if.else的选择和switch的选择,其中if .else的选择包含在while循环中,并用了break的跳转语句。if.else语句更好的避免了输入进入死循环。如:if(x=0) br
11、eak; else printf(继续操作请输入1n); scanf(%d,&x);修改函数中还使用了strcmp判断函数,当strcmp判断函数判断成立时,给予使用者符合要求的提示,使用者然后进行操作。如:strcmp(sbt.id,find)=0 。在Switch的使用中,其实现了返回主菜单的操作。如:switch(x) case 0:choose();break; case 1:xg();break; default:printf(输入无效,自动返回主菜单n);choose();break;其中包含的数据类型有int类型和 char类型两种 。如:int x , char find20.
12、void xg()/修改 char find20; int x; t=0; printf(请输入要修改的设备ID号:); scanf(%s,find); while(1) if(strcmp(sbt.id,find)=0) /如果找到的话返回的是符合要求 break; else t+; while(1) printf(确认修改请输入任意数字否则输入0重新输入设备原id:); scanf(%d,&x); if(x=0) break; else printf(请输入新设备号(原来是 %s ):,sbt.id); scanf(%s,sbt.id); printf(n提示:该项记录资料已经成功修改!n
13、); printf(退回主菜单请输入0n); printf(继续操作请输入1n); scanf(%d,&x);5.5查询函数查询函数用void cx()声明,使用do.while(choice!=0); 循环,其中含有switch(choice)的选择语句。当选择0时,跳回menu函数;当选择1时,跳到设备号查询函数;void cx_sbh()do if(strcmp(sbt.id,find)=0&sbt.yesno=1) /1表示设备没报废 t+;else t+;while (t100); if (choice=1) choose(); else cx();设备号查询函数用void cx_s
14、bh()声明,使用do.while(choice!=0); 循环,其中含有if .esle的选择语句。其中包含的数据类型有int类型.如:int choice等。当选择2时,跳到设备名称查询函数;void cx_mc()/设备名称查询 do if(strcmp(sbt.name,ming)=0&sbt.yesno=1) /1表示设备没报废 else t+; while (t100); if (choice=1) choose(); else cx();设备名称查询函数用void cx_mc()声明,使用do.while(choice!=0); 循环,其中含有if esle的选择语句。其中包含的
15、数据类型有int类型.如:int choice等。否则输出输入无效请重新输入。查询函数包含的数据类型有int类型.如:int choice等。void cx()/查询 int choice; doswitch(choice) case 0:menu();break; case 1:cx_sbh();break; case 2:cx_mc();break; default:printf(输入无效请重新输入n);cx(); break; while(choice!=0);5.5统计函数统计函数用void tj()声明,在if的使用中,其实现了返回菜单的操作。如:printf(键入数字1返回主菜单n
16、); printf(键入数字任意键返回上层菜单n); scanf(%d,&choice); if (choice=1) choose() ; 函数中还使用了strcmp判断函数,当strcmp判断函数判断成立时,给予使用者符合要求的提示,使用者然后进行操作。如:(strcmp(sbt.kind,tong)=0&sbt.yesno=1。而dowhile 循环的使用保证了多次统计的使用。(注:其中的“t+;”不能丢,其在循环中起累加的作用)。统计函数包含的数据类型有int类型和char类型.如:int choice和char tong 等。void tj()/统计int choice;char t
17、ong20;printf(n输入你要统计的设备种类:); scanf(%s,tong); do if(strcmp(sbt.kind,tong)=0&sbt.yesno=1) /1表示设备没报废 printf(设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格n);printf(n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn,sbt.id,sbt.name,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+; else t+; while (t100); printf(键入数字1返回主菜单n); print
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验室设备 管理 系统 设计 21
限制150内