版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告书实验设备管理系统 班 级: 学 号: 9 姓 名: 指导教师: 二零一零年七月十五号课程设计报告内容1. 选择题目 题目:实验设备管理系统2. 内容摘要摘要:实验室设备管理系统是典型的设备信息管理系统,要求能为学校实验室管理提供信息化动态化的管理,方便实验室设备管理工作,提高设备管理质量和使用效率。而且系统应符合设备管理的有关规定,包括新设备的申请、购买确认、新设备信息录入、旧设备维修和报废及用户管理等。能满足日常工作的基本需要,并达到操作过程中的直观、方便、实用、安全等有关要求。实验室设备管理系统是一个典型的信息管理系统,采用面向对象的分析方法,给出系统的基本结构设计特色设计模
2、型及实现途径,并且对系统的开发技术进行研究本系统是一个为适应对学校实验室设备管理的迫切需求而设计开发的软件系统。3. 索引关键词关键词:结构体、文件、数组、函数4.目录l 目录l 题目要求3l 设计思想3-4l 系统完成及功能4l 界面设计4-5l 核心算法及说明.5-11l 结论11l 考资料12l 后记12l 附录12-135. 正文包括课程设计的要求,设计思想,系统完成的功能,及界面设计,核心算法及说明,和结论几部分,正文必须从页首开始。5.1课程设计题目要求实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。主要
3、功能:1、能够完成对设备的录入和修改2、对设备进行分类统计3、设备的破损耗费和遗损处理4、设备的查询要求:使用二进制文件方式存储数据,系统以菜单方式工作5.2设计思想第一,应该具有自动初始化的功能。实际网络中被管设备数量巨大,通常能达到百位量级,如果初始化时需要管理员手动输入所有被管设备的基本信息,这是一个相当枯燥漫长的过程,会大大降低系统的实用性。第二,在长时间的运行过程中,系统数据要与实际设备配置保持一致。实际网络中变化是经常发生的,包括网络的拓扑、设备的配置等都会为了运行的需求而经常变化。那么,最好能让系统中的数据能自动更新,而不需要每次改变实际网络配置后,还需要管理员手动更新。第三,操
4、作简单直观,不依赖于太多的专业知识。无论是信息的展示,还是可以进行的操作,希望都能以简单的页面元素来表达,管理员通过简单的点击、选择等操作就能完成大部分管理任务。5.3系统完成功能及功能框图为弥补手工管理设备信息造成的资源共享困难、管理手续繁琐等问题,设备管理系统应能够满足设备信息共享的需求,方便快捷的得到所需要的信息,对实验室的帮助很大。系统功能如图所示,其主要功能包括:设备的录入和修改、对设备进行分类统计、设备的破损耗费和遗损处理、设备的查询。系统功能设计设备的查询设备的破损耗费和遗损处理对设备进行分类统计设备的录入和修改5.4界面设计5. 5核心算法:设备结构体struct shebei
5、 char no10; /编号 char kind10; /设备种类 char name10; / 设备名称 float price; /价格 char time10; / 日期 int bao; /是否报废 char time110; /报废日期 int po;/是否破损 float price1;/破损花费 char way10; /处理方式;struct data int count; / 当前设备数组中设备的个数 struct shebei sheMAX; / 设备数组 dd;将数据从结构体数组保存到文件中void save_data() FILE *fp; int i,k; k=dd
6、.count; fp=fopen(c:/dada.dat,wb); fwrite(&k,sizeof(int),1,fp); for(i=0;ik;i+) fwrite(&dd.shei,sizeof(struct shebei),1,fp); fclose(fp);将数据从文件读到结构体数组中void read_data()FILE *fp;int i,k;struct shebei st;k=0;if(access(c:/dada.dat,0)=-1)/ 如果文件不存在fp=fopen(c:/dada.dat,wb);fwrite(&k,sizeof(int),1,fp);fclose(f
7、p);fp=fopen(c:/dada.dat,rb);fread(&k,sizeof(int),1,fp);dd.count=k;for(i=0;ik;i+)fread(&st,sizeof(struct shebei),1,fp); strcpy(,); strcpy(dd.shei.no,st.no); strcpy(dd.shei.kind,st.kind); dd.shei.price=st.price; strcpy(dd.shei.time,st.time); dd.shei.bao=st.bao; dd.shei.po=st.po; str
8、cpy(dd.shei.time1,st.time1); strcpy(dd.shei.way,st.way); dd.shei.price1=st.price1; fclose(fp);按回车后回到主菜单void to_menu() char c1,c2; printf(nnn按回车键返回主菜单.); scanf(%c%c,&c1,&c2); menu();查看所有设备信息void view_data() int i; printf(编号t种类t名称t价格t购入日期t报废状态(0-报废,1-未报废)t破损状态(0-破损,1-未破损)); printf(n-n); for(i=0;idd.co
9、unt;i+) printf(%st%st%st%.2ft%st%dt%dn,dd.shei.no,dd.shei.kind,,dd.shei.price,dd.shei.time,dd.shei.bao,dd.shei.po); if(dd.shei.bao=0)printf(该设备报废日期:%st,dd.shei.time1); if(dd.shei.po=0)printf(该设备破损花费:%.2ft,dd.shei.price1); if(dd.shei.bao=0|dd.shei.po=0)printf(该设备处理方式为:%sn,dd.shei.way); 输入
10、设备记录void add_data() struct shebei st; int b; int i,j,k; while(1) j=0; printf(n请输入设备信息:n); printf(编号t种类t名称t价格t购入日期t); printf(n-n); scanf(%s%s%s%f%s,st.no,st.kind,,&st.price,st.time); for(i=0;idd.count;i+) if(strcmp(dd.shei.no,st.no)=0) j=1; printf(输入的设备编号有重复,请重新输入!); break; if(j=1)continue; if
11、(j=0) k = dd.count; strcpy(,); strcpy(dd.shek.no,st.no); strcpy(dd.shek.kind,st.kind); dd.shek.price=st.price; strcpy(dd.shek.time,st.time); dd.shek.bao=1; dd.shek.po=1; dd.count+; printf(nn继续添加设备信息1-yes 0-no:); scanf(%d,&b); if(b=0) break; save_data();编辑设备报废与破损记录void edit_data()i
12、nt i,k;char no10,time110,way10;int bao,po;float price1;printf(n请输入要编辑设备的编号:);scanf(%s,no);k=-1;for(i=0;idd.count;i+)if(strcmp(dd.shei.no,no)=0)k=i;break;if(k=-1)printf(nn没有找到该设备(编号-%s)!,no);elseprintf(n名称:%s,编号:%s,种类:%s,价格:%.2f,购入日期:%s,,dd.shek.no,dd.shek.kind,dd.shek.price,dd.shek.time)
13、;printf(n设备报废与否记录:); printf(n设备状态(0-报废,1-未报废):); scanf(%d,&bao); dd.shek.bao=bao; if(bao=0) printf(n报废日期:); scanf(%s,time1); strcpy(dd.shek.time1,time1); if(bao=1) printf(n设备破损状态:(0-破损,1-未破损) ); scanf(%d,&po); dd.shek.po=po; if(po=0) printf(n破损耗费:); scanf(%f,&price1); dd.shek.price1=price1; if(bao=0
14、|po=0) printf(n处理方式:); scanf(%s,way); strcpy(dd.shek.way,way); save_data();printf(nn编辑设备记录(编号-%s)成功!,no);查询(编号)void query_data_no()int i,k;char no5;printf(n请输入要查询设备的编号:);scanf(%s,no);k=-1;for(i=0;idd.count;i+)if(strcmp(dd.shei.no,no)=0)k=i; printf(编号t种类t名称t价格t购入日期t报废状态(0-报废,1-未报废)t破损状态(0-破损,1-未破损));
15、 printf(n-n); printf(%st%st%st%.2ft%st%dt%dn,dd.shei.no,dd.shei.kind,,dd.shei.price,dd.shei.time,dd.shei.bao,dd.shei.po); if(dd.shei.bao=0)printf(该设备报废日期:%st,dd.shei.time1); if(dd.shei.po=0)printf(该设备破损花费:%.2ft,dd.shei.price1); if(dd.shei.bao=0|dd.shei.po=0)printf(该设备处理方式为:%sn,dd.shei.wa
16、y); if(k=-1)printf(nn没有找到该设备(编号-%s)!,no);设备分类统计void count_data()char kind10;int i,s=0;printf(请输入要查询的设备种类: );scanf(%s,kind);for(i=0;idd.count;i+)if(strcmp(dd.shei.kind,kind)=0)s+;printf(统计结果:%s种类的设备有%d件。,kind,s);5.6结论:能够清楚的实现本程序的功能。此程序设计让我很好的掌握了C语言的一些知识,但也反映了一些不足之处,而且本程序的功能不是很完善,随着以后的学习,我会更好的去探究更完美的更实用的管理系统。6.后记通过“实验设备管理系统”设计,增加了我学习软件技术的兴趣,虽然还不明确软件技术包含的具体内容,但从C语言这门课程开始,已发现程序设计的乐趣,在学习C语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。 在具体操作中对这学期所学的C语言的理论知识得到巩固,在实际操作中也发现了自己的不足之处,在以后的上机中应特别注意,同时也体会到了C语言具有的语句简洁,使用灵活,执行效率高等的特点。通过实际操作,学会 C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年6月福建省普通高中学业水平合格性考试化学试题(解析版)
- 西南林业大学《材料研究及分析方法》2022-2023学年第一学期期末试卷
- 西京学院《企业级应用开发》2023-2024学年期末试卷
- 高中化学:油脂
- 西京学院《电力系统分析实验》2022-2023学年期末试卷
- 人教版教育课件
- 西华师范大学《油画基础》2022-2023学年第一学期期末试卷
- 西华师范大学《宪法学》2021-2022学年期末试卷
- 西华师范大学《人体解剖生理学实验》2023-2024学年第一学期期末试卷
- 录制课件功能
- 不动产测绘培训课件
- 4中小学毒品预防专题教育大纲
- 旅游小程序策划方案
- 北京市东城区2023-2024学年六年级上学期期末数学试卷
- 急诊护理质量安全管理
- 加装电梯设计方案
- 员工试用期转正评估问卷调查(360评估)
- 禅修活动策划方案
- 口腔正畸学课件
- 2024年高考语文备考:内容理解和分析客观题设置错误选项的九大手段
- 宠物医院聘用合同范本
评论
0/150
提交评论