ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:209.94KB ,
资源ID:16507413      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16507413.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计报告仪器仪表管理系统报告.docx)为本站会员(b****7)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计报告仪器仪表管理系统报告.docx

1、C语言课程设计报告仪器仪表管理系统报告 C学院: 自动化学院专业: 自动化 班级: 231XXX 姓名: XXX 学号: 231XXX-XX 1. 题目概述,总体设计-第 1页2. 详细设计,菜单函数-第 2页3. 功能模块:录入模块-第 3页4. 状态改变模块-第 4页5. 状态改变,借出归还-第 6页6. 状态改变,维修-第 7页7. 状态改变,删除-第 8页8. 状态查询模块-第 9页9. 按名称查询-第11页10.按时间点/段查询-第12页11.公共函数-第13页12.上机实践-第14页13.程序的亮点与不足-第17页14.总结-第18页 题目:仪器仪表管理系统要求系统功能的基本要求:

2、(1)新的仪器仪表信息录入。(2)在借出、归还、维修时对仪器仪表信息的修改。(3)对报废仪器仪表信息的删除。(4)按照一定的条件查询、统计符合条件的仪器仪表信息;查询功能至少应包括仪器仪表基本信息的查询、按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)查询、按时间点(借入时间、借出时间、归还时间)查询等,统计功能至少包括按时间段统计、按仪器仪表的基本信息统计等。(5)对查询、统计的结果打印输出。提示数据结构采用结构体。仪器仪表信息包括仪器仪表名、仪器仪表编号、购买时间、借入时间、借出时间、归还时间、维修时间、状态信息(0 代表可借出,1代表可借入,2 代表

3、正在维修) 等。需求分析:根据题目要求,由于仪器仪表信息是存放在文件,所以应提供文件的输入、输出等操作; 在程序中要浏览仪器仪表的信息。应提供录入、显示、查找,修改等操作; 另外还应提供键盘式选择菜单实现功能选择。总体设计:根据上面的需求分析,可以将这个系统的设计分为三个大的模块: 仪表仪器录入、仪表仪器修改(删除)、仪表仪器查询仪器仪表管理系统 详细设计 (一) 主函数 主函数一般设计得比较简洁,只提供输入、处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其中流程图如下:程序其中为主函数设定了一个菜单函数,方便用于选择其他模块函数。用getch0;获得所按下的键值,用函数的局部静态变

4、量储存键值对应的其他功能函数。void menu(char c) /*菜单函数*/ static int n=0; /部变量 if(c=s|c=S) n+; if(c=w|c=W) n-; if(n=5) n=1; if(n=0) n=4; if(c=13) switch(n) case 1:if(insert ()=0) insert (); break; /录入 case 2:change();break; /修改 case 3:serch(); break; /查询 case 4:exit(0); /退出程序 ; system(cls); printf(nn); printf( 仪器仪表

5、管理系统 n); printf(n); printf( 姓名:xxx );printf( 班级231xxx);根据选择的功能调用功能模块函数结束 printf(nn); if(n=1) printf( -仪器仪表录入仪器仪表借还/删除仪器仪表查询 退出程序仪器仪表管理系统按W向上选择按S向下选择按回车确定选择按任意键进入系统- n); printf( n); getch(); menu(s); while(1) menu(getch(); (二)各功能模块设计数据结构数据结构选用结构体数组。这里只简单的给仪器仪表两个部分,一个为仪器仪表的名称、字符串函数,一个为仪器仪表的各个时间点的状态(定义

6、一个time的三维数组,数组下标表示年月日,数组的值表示仪器的状态)。 #define buy 1 /购买 #define lean 2 /借出 #define repair 3 /维修 #define inlib 4 /空闲 #define year_max 3000 #define month_max 12 #define day_max 31 #define N 100 /预设仪器最大数 int n; /仪器数 struct equment char name100;int time year_max+1month_max+1day_max+1; equN;(1) 录入模块是开始输入仪器

7、仪表名称否是否已录入入返回主菜单输入买入时间结束通过strcpy函数实现仪器名称的录入,state函数实现仪器状态的更改。【程序】void insert() int i,j_year,j_month,j_day,year,month,day; char equ_input100; system(cls); printf(nnnn); printf( -仪器仪表管理系统- n); printf(nnnn); printf( 请输入仪器的名称:); scanf(%s,&equ_input); if(presence(equ_input)!=0) printf(n); printf(n); prin

8、tf( 对不起!此仪器已购买n ); printf(n); printf( 录入失败,请按任意键返回主菜单n ); printf(n); printf( n); getch(); else int state (int year,int month,int day,int n,int s); n+; strcpy(equn.name,equ_input); /将equ_input复制给equequ_num.name printf(n); printf( 请输入购买时间(年/月/日)(例如1998/2/15):); scanf(%d/%d/%d,&year,&month,&day); state

9、(year,month,day,n,inlib); / equn 将当天状态改为空闲 equn.timeyearmonthday=buy; /equn 将该天以后状态改为购入 /printf(%d,equn.timeyearmonthday); printf(n); printf(n); printf( 录入成功,请按任意键返回主菜单n); printf(n); printf(n); printf( n); getch(); (2)状态改变模块该模块包括对仪器仪表的借出、归还、维修、报废等小模块的操作,仍然用getch();函数获取键值来做上下选择。本函数只考虑对一种仪器仪表的修改,故先要输入

10、该仪器仪表的名称并查找是否已经购买。开始输入仪器仪表名称返回主菜单是结束否是否已购买选择需要进行的操作【程序】int change() char equ_input100,c=s; int j,x=0; system(cls); printf(nnnn); printf( n); printf(nn); printf( 请输入仪器名称: ); scanf(%s,&equ_input); j=presence(equ_input);/ printf(n%d,j); system(pause); if(j!=0) while(1) if(c=s|c=S) x+; if(c=w|c=W) x-; i

11、f(x=6) x=1; if(x=0) x=5; if(c=13) switch(x) case 1:mylean(j);break; case 2:myback(j);break; case 3:myrepair(j);break; case 4:mydel(j);break; case 5:return(1); system(cls); printf(nnnn); printf( n); printf(nn); /* printf( 请输入仪器名称: );scanf(%s,equ_input); printf(nn);*/ if(x=1) printf( -仪器仪表借出仪器仪表归还仪器仪表

12、维修仪器仪表报废返回主菜单-n); else printf( 返回主菜单 n); printf( n); c=getch(); else /*system(cls); printf(nnnn); printf( n); printf(nn);*/ printf(nn); printf( 对不起!找不到该仪器n); printf( 可能是由于您输入仪器的名称错误,n); printf( 也可能是由于无此仪器,还没购买。n); printf(nn); printf( 修改失败,请按任意键返回主菜单 n); printf( n); getch(); /return; (1)借出模块首先输入借出的时间

13、,然后在仪器仪表的结构体数组中查找该仪器仪表在这个输入的时间点上有无其他状态。若无其他状态则可以借出,否则不可借出。【程序】int mylean(int j) int year,month,day; system(cls); printf(nnnn); printf( n); printf(nn); printf( 请输入借出时间(年/月/日): ); scanf(%d/%d/%d,&year,&month,&day); /system(pause);/ printf(%d,equj.timeyearmonthday); if (equj.timeyearmonthday=inlib) /判断

14、仪器是否空闲 printf(nn); printf( 借出成功,请按任意键返回上一级菜单 n); printf(n); printf( n); state(year,month,day,j,lean); /状态改为借出 getch(); return(1); else printf(nn); printf( 对不起!n); printf( 此仪器还没有购买或没有归还或正在维修中,n); printf( 故无法借出。n); printf( 借出失败,请按任意键返回上一级菜单 n); printf(nn); printf( n); getch(); return(0); (2)归还模块首先输入借出

15、的时间,然后在仪器仪表的结构体数组中查找该仪器仪表在这个输入的时间点上有无其他状态。若无其他状态则可以借出,否则不可借出。【程序】int myback(int j) int year,month,day; system(cls); printf(nnnn); printf( n); printf(nn); printf( 请输入归还时间(年/月/日): ); scanf(%d/%d/%d,&year,&month,&day); if (equj.timeyearmonthday=lean) /判断状态是否为借出 开始输入仪器仪表名称是是否借出标记状态为空闲返回主菜单否结束 printf(nnn

16、); printf( 归还成功,请按任意键返回上一级菜单 n); printf(nn); printf( n); state(year,month,day,j,inlib); /改状态为空闲 getch(); return(1); else printf(nn); printf( 对不起!n); printf( 此仪器还没有购买或还没有借出n); printf( 或正在维修中,故无法归还。n); printf( 归还失败,请按任意键返回上一级菜单 n); printf(n); printf( n); getch(); return(0); (3)维修模块 同样是首先输入维修开始的时间和维修结束

17、的时间,然后在仪器仪表的结构体数组中查找该仪器仪表在这个归还的时间点上有其他状态。若有为空闲状态则可以维修,否则不可维修。【程序】int myrepair(int j) int year,month,day; system(cls); printf(nnnn); printf( n); printf(nn); printf( 请输入开始维修时间(年/月/日):); scanf(%d/%d/%d,&year,&month,&day); if (equj.timeyearmonthday=inlib) state(year,month,day,j,repair); /改状态为维修 printf(n

18、n); printf( 请输入维修结束时间(年/月/日):); scanf(%d/%d/%d,&year,&month,&day); state(year,month,day,j,inlib); printf(nn); printf( 维修成功,请按任意键返回上一级菜单 n); printf(n); printf( n); getch(); return(1); else printf(nn); printf( 对不起!n); printf( 此仪器还没有购买或借出,n); printf( 故无法维修。n); printf(nn); printf( 维修失败,请按任意键返回上一级菜单 n);

19、printf(nn); printf( n); getch(); return(0); (4)删除模块删除模块将删除本仪器仪表,具体删除过程为将需要删除的后一项覆盖至删除的这一项,即需删除以后的每一个结构体元素都向前移一个单位。【程序】int mydel(int j) char c=s; int x=0; while(1) system(cls); if(c=s|c=S) x+; if(c=w|c=W) x-; if(x=3) x=1; if(x=0) x=2; if(c=13) if(x=1) int i; for(i=n;in;i+) equi=equi-1; n-; system(cls

20、); printf(nnnn); printf( n); printf(nn); printf( 报废仪表已删除!n ); printf(nn); printf( 请按任意键返回上一级菜单 n); printf(n); printf( n); getch(); return; else return; printf( n); printf(nn); printf( 请问确定要报废仪器%s吗?n ,equj.name); printf(nnnn); if (x=1) printf( -确定要报废仪器我要考虑考虑- n); else printf( 我要考虑考虑 n); printf(nn); printf( n); c=getch(); (三)仪器仪表查找模块仪器仪表查找分为按名称查找、按时间点查找、按时间段查找三个模块,通过键盘w s进行选择,分别用三个小模块来表示,通过状态函数condition_p输出仪器仪表状态。【程序】void search() char c=s; int x=0; wh

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2