仪器仪表的管理

上传人:公**** 文档编号:507920557 上传时间:2023-07-20 格式:DOCX 页数:23 大小:472.40KB
返回 下载 相关 举报
仪器仪表的管理_第1页
第1页 / 共23页
仪器仪表的管理_第2页
第2页 / 共23页
仪器仪表的管理_第3页
第3页 / 共23页
仪器仪表的管理_第4页
第4页 / 共23页
仪器仪表的管理_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《仪器仪表的管理》由会员分享,可在线阅读,更多相关《仪器仪表的管理(23页珍藏版)》请在金锄头文库上搜索。

1、中国地质大学(武汉)C 语言课程实习报告学 院: 资源学院 专 业: 资源勘测(油气) 班 级: 021103学 号: 20101002354姓 名:姚国华指导老师; 张 霞时 间; 2012 年 1 月 15 号题目要求仪器仪表管理【要求】 系统功能的基本要求(1)(2)(3)(4)新的仪器仪表信息的录入; 在借出、归还、维修时对仪器仪表信息的修改; 对报废仪器仪表信息的删除; 按照一定的条件查询符合条件的仪器仪表信息;查询功能至少应该包括 仪器仪表基本信息(如仪器仪表名字、仪器仪表编号等)的查询、按时 间点(借入时间、借出时间、归还时间)查询等(5)【提示】对查询结果的输出。数据结构采用结

2、构体。仪器仪表信息包括仪器仪表名、仪器仪表编号、购买时 间、借入时间、借出时间、归还时间、维修时间、状态信息(0 代表可借出,1 代表已借出, 2 代表正在维修)等。、 需求分析根据题目要求,需要把仪器仪表信息的的数据存储在文件里,所以需要提供文件的输入 输出等操作;在程序中要提供修改,删除,查找等操作;另外还应该提供键盘式选择菜 单实现功能选择。三、总体设计系统功能模块图四、详细设计1. 主函数主函数一般设计得比较简洁,只提供输入输出和功能处理的函数调用。其各功能模 块用菜单方式选择。本题将main ()函数体内的界面选择部分语句单独抽取出来作 为一独立函数,目的在于系统执行完每部分功能模块

3、后能够方便返回到系统界面。 【程序】main()menu();菜单部分设计如下【流程图】主函数的菜单流程图【程序】menu()int n,w;/*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字范围内*/ doputs(tttt 1.enter); puts(tttt 2.modify);puts(tttt 3.search);puts(tttt 4.delete);puts(tttt 5.exit);puts(nntt *n);printf(Choice your number(1-5): bb); scanf(%d,&n);if(n5)/*对选择的数字作判断*/ w=1;ge

4、tchar(); else w=0;while(w=1);/*输入模块*/ /*修改模块*/ /*查找模块*/ /*删除模块*/ /*退出*/switch(n)case 1:enter();break;case 2:modify();break;case 3:search();break;case 4:delete();break;case 5:exit(0);2. 各功能模块设计(1)输入模块【数据结构】【分析】单独看各数据信息,仪器仪表名是字符型,可采用字符型数组;仪器仪表 编号、购买时间、借入时间、借出时间、归还时间、维修时间应采用实型;状 态信息是整数,采用整型。实际上操作时发现只有字

5、符型的数据可以在文件中 成功被保存,所以本题所有数据一律采用字符型。struct machinechar name5;char number5;char buy_time5;char borrowin_time5;char borrowout_time5;char return_time5;char repair_time5;char sta5;char time5;/*time 为下面程序中按时间查找和修改时记录输入的时间*/macN;/* macN 中每个数组元素对应一个仪表仪器*/【注意】macN中的N是仪表仪器个数,程序中采用宏定义的方式,可以随时在源程序宏定义中改,本程序宏定X#de

6、fine N 50。程序】7 *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* vt*、t*、t*、t*、t* 1*X j*V t Ln-1 k1* k1* k1* k1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* /*输入模块*/enter()/*输入模块*/ int i,n;printf(How many machines do you want to enter(0-%d)?:,

7、N-1);scanf(%d,&n);/*要输入的记录个数*/printf(n Enter data now n);printf(n name number buy_time borrowin_time borrowout_time return_time repair_time state n);for(i=0;in;i+)input(i);/*调用输入函数*/if(i!=0)save(n);/*调用保存函数*/printf_back(); /*一个任务结束时让用户选择是浏览还是返回*/(2)修改模块需求分析 该模块的功能是显示所有仪器仪表信息,考虑到记录较多,建议采用分屏显示。显示 完所有记

8、录后,用户输入要修改的仪器仪表编号,根据编号查找仪器仪表记录,并提示用户 修改该记录的哪部分信息,是仪器仪表的借出时间、归还时间、修理时间还是状态,根据用 户选择修改相应信息。程序nJ返回主菜单修改模块流程图/*修改模块*/modify()/*修改模块*/ struct machine m;FILE *fp;int i,n,k,w0=1,w1,w2=0; n=load();/*给用户看全部记录以便确认要修改的记录*/*调用显示数据结构项目函数*/*分屏显示*/do k=-1;printf_face(); for(i=0;in;i+)if(i!=0)&(i%10=0)printf(nnpass

9、any key to continue.); getch();puts(nn);printf_one(i);/*调用显示一个记录的函数*/do printf(nplease enter machine number:);scanf(%s,m.number);/*输入要修改的仪器仪表的编号*/for(i=0;in;i+)/*查找要修改的仪器仪表的记录*/if(strcmp(m.number,maci.number)=0) k=i; /*找到要修改的记录*/ m=maci;/*把maci备份给m,以便用户后悔时恢复*/ if(k=-1)printf(nnNO exist!Try again); w

10、hile(k=-1);/*k=-1 时表示没有找到*/printf_face();/*调用显示数据结构项目函数*/printf_one(k);/*调用显示一个记录的函数*/w1=modify_data(k);/*修改仪器仪表记录并且返回保存控制值wl,wl=l则表示用户以确认修改*/ if(w1=1)/*w1=1 表示用户确定这次修改*/ printf(nSuccessfulA_A.nnAre you modify another?nnt1).Yes 2).Back with savetbb);scanf(%d,&w0);w2=l;/*控制保存,使 w2=l 是标记已有过修改*/else w0

11、=0;if(w2=1)mack=m;/*走到这里是由于用户没有确认这次修改(在调用修改函数wl=modify_data(k)时没有 确认),使wO=O,为了终止循环; mack=m则把备份的m恢复给mack,这样的好处 是确保在此之前修改过的成功保存,而本次不修改*/if(w0!=l&w2=l) /*w0!=l 则表示正常返回, w2=l 表示在此之前有过修改,此时就 保存用户已经确认修改的并返回*/save(n); /*w2!=1表示在此次之前没有修改过,而又反悔这次修改,则不保存返回*/while(w0=1); printf_back();说明:调用w1=modify_data(k)修改函

12、数时,若返回值为1则表示用户在修改函数里面确认 了这次修改,其中 i 表示第 i 个记录(要修改的);若返回值不为 1 则不保存这次修改,但 保存这次之前的修改,这由w2来控制,w2=1则表示有过用户修改确认史。( 3 )查找模块流程图查找模块流程图程序/*查找模块*/ int search() int m;puts(tttt mon_search);puts(tttt 2.point_search);puts(tttt 3.exit);puts(nntt *n);printf(Please choice your number(1-3): bb);scanf(%d,&m);switch(m)

13、case 1:common_search();break;case 2:point_search();break;case 3:exit(0);(1.1)基本查找分析 基本信息查找包括了仪器仪表的名称以及编号的查找,所以该子功能模块的功能 是先让用户选择是按仪器仪表名称还是按仪器仪表编号查找,根据用户选择的进行查找,找 到以后增加删除和修改功能。基本查找模块流程图程序 /*基本查找模块*/ int common_search()/*基本查找模块*/ int i,n,k,w1=1,w2,w3,w4;struct machine m;n=load();printf(Search the machine by name or number?1-name,2-number:); scanf(%d,&i);if(i=1)dodoname:);/*输入要查找的仪器仪表的名称*/ /*调用显示数据结构项目函数*/ /*查找想要的记录*/ k=-1; printf(nnEnter the machine name that you want to search! scanf(%s,m.name); printf_face(); for(i=0;in;i+)/*找到要查找的记录*/*调用显示一个记

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号