资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
中 国 地 质 大 学本科生课程论文封面课程名称 C语言课程设计 教师姓名 朱莉 本科生姓名 宋来鹏 本科生学号 20111003086 本科生专业 计算机科学与技术 所在院系 计算机学院 类别: 必修 日期: 2011年1月15日 课程设计评语对课程论文的评语:平时成绩:课程论文成绩:总 成 绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。目 录课程设计评语2目 录31课程论文题目42程序设计思路43功能模块图54数据结构设计55算法设计66程序代码137程序运行结果228编程中遇到的困难及解决方法259总结心得及良好建议2610致谢261.课程论文题目仪器仪表管理 要求 系统功能的基本要求:(1) 新的仪器仪表信息录入。(2) 在借出、归还、维修时对仪器仪表信息的修改。(3) 对报废仪器仪表信息的删除。(4) 按照一定的条件查询、统计符合条件的仪器仪表信息;查询功能至少应包括仪器仪表基本信息的查询、按时间段(如在2004年1月1日到2004年10月10日购买、借出、维修的仪器仪表等)查询、按时间点(借入时间、借出时间、归还时间)查询等,统计功能至少包括按时间段统计、安仪器仪表的基本信息统计等。(5) 对查询、统计的结果打印输出。 提示 数据结构采用结构体。仪器仪表信息包括仪器仪表名、仪器仪表编号、购买时间、借入时间、借出时间、归还时间、维修时间、状态信息(0代表可借出,1代表可借入,2代表正在维修)等。2程序设计思路可以将这个系统的设计分为三个大的模块:仪表仪器录入、仪表仪器修改(删除)、仪表仪器查询3,功能模块图(1).录入模块 程序 开始输入仪器仪表的名称是否已录入返回主菜单输入买入时间结束是 否 (2).仪器仪表状态改变模块开始输入仪器仪表的名称是否已购买返回主菜单选择需要进行的操作结束是 否 O借出模块开始输入借出时间是否空闲返回主菜单标记状态为借出结束是 否 归还模块开始输入归还时间是否借出返回主菜单标记状态为归还结束是 否 维修模块开始输入维修开始、结束时间是否空闲返回主菜单标记状态为维修结束是 否 删除模块开始是否删除返回主菜单循环将需删除的后面所有元素整体向前移动一个单位结束是 否 按名称查询开始输入仪器仪表名称是否存在返回主菜单循环查找并输出结束是 否 按时间点查询开始输入时间点返回主菜单循环每个仪器仪表,判断状态,并输出结束按时间段查询开始输入起始、结束时间点返回主菜单循环在时间段每个仪器仪表,判断状态,并输出结束4 数据结构设计 5 算法设计 其中为主函数设定了一个菜单函数,方便用于选择其他模块函数。用getch();获得所按下的键值,用函数内的局部静态变量储存键值对应的其他功能函数。6程序代码1. 主函数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: search(); break;case 4: exit(0);system(cls);printf(nnnn); printf( |-仪器仪表管理系统-|n); printf( | 姓名:宋来鹏 |n); printf( | 班级:191112 -19 |n); printf( | 学号:20111003086 |n);if (n=1)printf( | - 仪表仪器录入 仪表仪器借还/删除 仪表仪器查询 退出 - |n);else printf( | 退出 |n); printf( |-|n);/主函数main() system(cls); printf( |-仪器仪表管理系统-|n);printf( | 按W向上选择 |n);printf( | 按S向下选择 |n);printf( | 按回车确定选择 |n);printf( | 请按任意键进入系统 |n);printf( |-|n);getch(); menu(s);while (1) menu(getch();return 0;2. 各功能模块设计(1).录入模块数据结构数据结构选用结构体数组。这里只简单的给仪器仪表两个部分,一个为仪器仪表的名称、字符串函数,一个为仪器仪表的各个时间点的状态。struct equs char name100;int timeyear_max+1month_max+1day_max+1;equ100;结构体数组中时间点的状态分为购买、借出、维修、空闲,并赋予相应的数值。#define buy 1#define lean 2#define repair 3#define inlib 4注意:int timeyear_max+1month_max+1day_max+1中的year_max,month_max,day_max分别为年,月,日的最大值,程序中采用宏定义的方式,可以随时在源程序宏定义中修改,本程序宏定义#define year_max 3000#define month_max 12#define day_max 31程序int insert()int i,j_year,j_month,j_day,year,month,day;char equ_input100;system(cls);printf(nnnn); printf( |-仪器仪表管理系统-|n); printf(n); printf(n);printf(n); printf( 请输入录入仪器的名字:);scanf(%s,equ_input); if (presence(equ_input)!=0) printf(n); printf(n); printf( 噢!此仪器仪表已经购买
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号