




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告课程名称C语言课程设计课题名称力学实验设备管理系统专业土木工程班级0902学号23姓名鱼建指导教师 陈世清 扬子华曹籁2010年12月27日湖南工程学院课程设计任务书课程名称 C语言课程设计课 题力学实验设备管理系统专业班级 土木0902学生姓名 伍建学 号 200909070223指导老师陈世清 扬子华曹簸审 批 任务书下达日期 2010年12月27日任务完成日期 2011年1月2日设计内容与设计要求1 设计内容:通过该系统实现对力学实验设备信息进行录入、修改、统计、查询、保存等操作的管理。实验设备信息包括:设备编号,设备种类,设备名称 ( 如烧杯、酒精灯等) ,设备价格,设备购
2、入日期,是否报废,报废日期等。主要功能:1) 、能够完成对设备的录入和修改2) 、对设备进行分类统计3) 、设备的破损耗费和遗损处理4) 、设备的查询5) 、将设备信息保存到文件中2 设计要求:1) 、设计正确,方案合理。2) 、界面友好,使用方便。3) 、程序精炼,结构清晰。4) 、设计报告5000 字以上,5) 、上机演示。进度安排第 17 周 星期一布置任务,查找资料。星期二确定总体方案,进行详细设计。星期三编写程序,上机调试。星期四编写程序,上机调试。星期五 答辩,总结。星期六星期天 写课程设计报告附: 课程设计报告装订顺序:封面、任务书、目录、正文、附件、评分( A4 大小的图纸及程
3、序清单) 。正文的格式: 一级标题用 3 号黑体 , 二级标题用四号宋体加粗 , 正文用小四号宋体 ; 行距为 22 。正文的内容: 一、1、设计目的2 、总体设计(程序设计组成框图、流程图)3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施 5 、总结与体会 : 课程设计的心得与体会。附件:源程序清单,清单中应有足够的注释正文总字数要求在5000 字以上(不含程序原代码) 。目录1、 总体设计2、 详细设计3、 调试与测试:4、总结与体会附:源程序清单和执行结果一、设计目的1
4、) 了解和掌握c语言面向对象程序设计的基本过程2)学会总体规划一个程序,从各个部分把一个程序完成好 3)能够使自己的程序实现一定的功能,对 C+铲生一种浓厚的兴趣 4)培养耐心,遇困难不退缩5) 了解团队精神的重要性,团结合作6)进一步熟悉C语言的特点二、总体设计1、力学实验设备管理系统信息录入信息修改信息删除信息统计信息查询信息保存2、流程 (1)开始进入系统开始1 23 <4 好nu sele 二>ABreak Beak Break Break Break break 退I l出保存(2)菜单界面基本信息录入基本信息保存基本信息查询基本信息显示基本信息删除基本信息修改(3)信息
5、录入1)按编号查询2)按名称查询3)按种类查询(4)显示所有(5)结束,保存信息(6)退出系统三、调试与测试3.1调试执 行 程 序 时, 显 示 如 下 信 息输入一组数据后,显示菜单: ,DC学习黄料aC语言程序设计Dcbu”程序清单.re欢迎使用力学实脏设备管理系统*请选择你的操作予! 3 显小L:4删除设! 5修敌设;0退出知'n.息自心'Dl.息 自信信值ft.存制作.蒋美幸请输入您的选择;工HT > ;LK选择不同的选项,执行相应的功能。选择 1 添加设备信息。:口:、学习密科匚语言程序锻计!)阖11式程序清单.BE1B当输入的设备编号为g时,停止添加”,I请
6、输入编号;29请输入名称二酒精灯I请输入种类二加热设备I请输入价格门0I请输入购买日期®020100101) :20050904,请输入报废日期(20100101) =2(5151903请输入是否报废6或F) =fI添加成功上*ht !?*当输入的设备编号为g时,停止添加,I请输入编号:.选才¥2查找设备信息,可按三种方式查找选才¥ 4,删除设备信息LzJ了。og 方 , 找查查查单 杳菜。 参名种回出 退isl-2.3,4.*请输入您的选择选才? 3,可显示信息D:学习贯科C语言程用设计Debug程出清单请输入要删除的设备编号。当输入编号为。时停止删除操作。2删
7、除成功? ?请输入要删除的设备编号,当输入编号为。时停止删除操作,选才? 5,修改设备信息ci .1):学习黄科匚语言程序破计拆11”程序清单.会广国输入要修市款累膏*请输入新的名称:零hmbeM请输入新的种类冲口皿6请输入新的价格;20请输入新的购买日期CiR2010B10i) =20040905 请输入新的报废日期(20100101) =20160904 请输入是否报废6或F):£修改成功,请选择您的下一步操作1 .回到主菜单.2 .退出并保存.选才¥ 0,保存并退出3、2测试及其解决问题在测试过程中,关于购买日期和报废日期,输入正常,显示则成了乱码,经过仔细检查发现在
8、定义 变 量 的 出 现 了 问 题, 及 时 改 正另外由于疏忽,没有将密码函数链接到主函数中,使得密码功能没有体现,及时调整。显示内容与 表头进行调整对齐,由于显示函数和查找函数都有显示功能,需要同时调整。四、详细设计4.1函数以及调用关系菜单函数*/void userinterface() /*假void modify()/*修改信息函数*/经过一个学期的C语言学习,在老师的悉心帮助下,我懂得了许多关于程方面的知识,知道 怎么运用一个程序,学会编写简单的程序。实验室设备信息的浏览查则:分为小设备信息叱浏览和对设备信息的准确查询。查询可以是不 同字段的联合查询。该操作是附有用如肿的操伸邓艮
9、。设备事故记录:分为对设、事故的陌加 设备中故的删除、设备事故的修改。作权限是管理员 具有。设备资料管理模块:分为对设备施匚单位、设备生产厂家、设备的相关信息。该操作权限是 管理员具有设备的损坏管理:前设置的机过程中即到的设备损坏进行记录,并且修改相关联的数据信息。该操作对管理员开发咖购做备。物备损坏信息浏览查询:实现对损坏设备信息的准确查询。查询可以是不同字段的联合查询。该操作是所有用户都具有的操作权限设备类别设置: 实验室的仪器分门别类,包括类别名称J类别数量,最低数量的设置。该操作属于管理员权限。系 统用户的管理:使用该系统的包括:管理员和实验课指导教师,管理员具有对实验课指导教师记录
10、进行添加,修改,删除等操作权限。用传统程序设计语言设计程序时,都是通过编写程序代码来设 计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界 面的效果不满意,还要回到程序中修改。有时候,这种编程 -编译-修改的操作可能要反复多次,大 大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封 装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。 Visual Basic 自动产生界面设计代码,程序设计人员只
11、需要编写实现程序功能的那部分代码,从而可以大大提高 程序设计的效率虽然对C语言知识的学习还只是皮毛,但通过这一段时间的学习和认知,我以深深爱上了C语言,希望以后能继续学习,继续深入的研究,加深对这门课程的理解,把知识运用到我们的生活当 中。附件:源程序清单#include <stdio.h>#include <conio.h>#include <string.h>#include <stdlib.h>#define SIZE 50#define MAX 100void Read( );/* 读数据 */void Save( );/* 存数据 */
12、void Search( );/* 查找 */void SearchByID( );/* 按编号查找 */void SearchByEQUIP_Name( );/* 按实验设备名称查找*/void Delete( );/* 删除*/void Print( );/* 显示 */void Add( );/* 录入 */void Modify( );/* 修改 */void Count( );/* 统计 */struct cEQUIP /* 实验设备结构体*/char IDSIZE; /* 编号 */char EQUIP_NameSIZE; /* 实验设备名称 */double Price;/* 设
13、备价格 */char KindSIZE; /* 实验设备种类 */char DPSIZE;/*购买日期*/char YNSIZE;/*是否报废*/char DRSIZE;/*报废日期*/ EQUIPMAX,temp;intEQUIPIndex=0;intEQUIPSum=0;intEQUIPFlagMAX;void Add( )/* 录入数据 */printf(" 请输入编号:");scanf("%s",temp.ID);printf(" 请输入实验设备名称:");scanf("%s",temp.EQUIP_Nam
14、e);printf(" 请输入 实验设备的设备价格 :");scanf("%lf",&temp.Price);printf(" 请输入实验设备种类:");scanf("%s",temp.Kind);printf(" 请输入购买日期 :");scanf("%s",temp.DP);printf(" 请输入是否报废:");scanf("%s",temp.YN);printf(" 请输入报废日期:");scanf(
15、"%s",temp.DR);EQUIPEQUIPIndex=temp;EQUIPFlagEQUIPIndex=1;EQUIPSum+;EQUIPIndex+;printf(" 录入成功 !n");getch();void Read( )/* 读取数据*/FILE *pfile= NULL;char bufSIZE;if(pfile = fopen("EQUIP.txt", "r") = NULL)printf(" 读取信息失败!n");return;while(fgets(buf, SIZE,
16、pfile)fscanf(pfile,"%s",EQUIPEQUIPIndex.ID);fscanf(pfile,"%s",EQUIPEQUIPIndex.EQUIP_Name);fscanf(pfile,"%lfn",&EQUIPEQUIPIndex.Price);fscanf(pfile,"%s",EQUIPEQUIPIndex.Kind);fscanf(pfile,"%s",EQUIPEQUIPIndex.DP);fscanf(pfile,"%s",EQUIPE
17、QUIPIndex.YN);fscanf(pfile,"%s",EQUIPEQUIPIndex.DR);EQUIPFlagEQUIPIndex=1;EQUIPSum+;EQUIPIndex+;EQUIPSum-;EQUIPIndex-;fclose(pfile);return;void Save( )/* 保存数据 */int i=0;FILE *pfile= NULL;if(pfile = fopen("EQUIP.txt", "w+") = NULL)printf(" 保存信息失败!n");return;for
18、(i=0;i<EQUIPIndex;i+)if(EQUIPFlagi>0)fprintf(pfile,"n");fprintf(pfile,"%sn",EQUIPi.ID);fprintf(pfile,"%sn",EQUIPi.EQUIP_Name);fprintf(pfile,"%lfn",EQUIPi.Price);fprintf(pfile,"%sn",EQUIPi.Kind);fprintf(pfile,"%sn",EQUIPi.DP);fprintf(p
19、file,"%sn",EQUIPi.YN);fprintf(pfile,"%sn",EQUIPi.DR);printf(" 保存成功 !n");getch( );fclose(pfile);void Search( )/* 查找 */int choose=0;while(1)system("cls");printf("nnn");printf("1: 按实验设备编号查询 nn");printf("2:按实验设备名称查询 nn");printf("
20、3:返回 nn");printf(" 请选择 :");scanf("%d",&choose);switch(choose)case 1:SearchByID( );break;case 2:SearchByEQUIP_Name( );break;case 3:return;default:break;return;void SearchByID( )/* 按编号查找*/ char idSIZE;int i=0;printf("n 输入编号 :");scanf("%s",id);for(i=0;i&
21、lt;EQUIPIndex;i+) if(strcmp(EQUIPi.ID,id)=0) break; if(i>=EQUIPIndex)printf(" 查找失败 n");else if(EQUIPFlagi=0) printf("查找失败 n");else printf("n 查找成功 :n");printf("n 编号 :%st 实验设备名称:%sn",EQUIPi.ID,EQUIPi.EQUIP_Name);printf("tt 设备价格 :%lftt 实验设备种类 :%sn",E
22、QUIPi.Price,EQUIPi.Kind);printf("tt 购买日期 :%stt 是否报废 %stt 报废日期 :%sn",EQUIPi.DP,EQUIPi.YN,EQUIPi.DR); printf("n"); getch( ); return; void SearchByEQUIP_Name( )/* 按实验设备名称查找*/ char EQUIP_NameSIZE;int i=0,j=0;printf("n 请输入实验设备名称:");scanf("%s",EQUIP_Name);for(i=0;i&
23、lt;EQUIPIndex;i+) if(strcmp(EQUIPi.EQUIP_Name,EQUIP_Name)=0)if(EQUIPFlagi!=0)j=1;printf("n 编号 :%st 实验设备名称:%sn",EQUIPi.ID,EQUIPi.EQUIP_Name);printf("tt 设备价格 :%lftt 实验设备种类 :%sn",EQUIPi.Price,EQUIPi.Kind);printf("tt 购买日期 :%stt 是否报废 %stt 报废日期 :%sn",EQUIPi.DP,EQUIPi.YN,EQUIP
24、i.DR);if(j=0) printf(" 查找失败 n");printf("n");getch( ); return;void Modify( )/* 修改 */ char idSIZE;int i=0;printf(" 请输入编号:");scanf("%s",id);for(i=0;i<EQUIPIndex;i+) if(strcmp(EQUIPi.ID,id)=0) break;if(i>=EQUIPIndex)printf(" 查找失败 n");else if(EQUIPF
25、lagi=0) printf("查找失败 n");else printf(" 查找成功 :n");printf("n 编号 :%st 实验设备名称:%sn",EQUIPi.ID,EQUIPi.EQUIP_Name);printf("tt 设备价格 :%lftt 实验设备种类 :%sn",EQUIPi.Price,EQUIPi.Kind);printf("tt 购买日期 :%stt 是否报废 %stt 报废日期 :%sn",EQUIPi.DP,EQUIPi.YN,EQUIPi.DR); print
26、f("n 开始修改 :n");printf(" 请输入编号:"); scanf("%s",temp.ID);printf(" 请输入实验设备名称:");scanf("%s",temp.EQUIP_Name);printf(" 请输入设备价格 :");scanf("%lf",&temp.Price);printf(" 请输入实验设备种类:");scanf("%s",temp.Kind);printf("
27、; 请输入购买日期 :");scanf("%s",temp.DP);printf(" 请输入是否报废:");scanf("%s",temp.YN);printf(" 请输入报废日期:");scanf("%s",temp.DR);EQUIPi=temp;printf("n");return;void Delete( )/* 删除 */char idSIZE;int i=0;printf(" 请输入编号:");scanf("%s"
28、,id);for(i=0;i<EQUIPIndex;i+)if(strcmp(EQUIPi.ID,id)=0)break;if(i>=EQUIPIndex) printf(" 查找失败 n");else if(EQUIPFlagi=0) printf("查找失败 n");elseprintf("n 查找成功 :n");printf("n 编号 :%st 实验设备名称:%sn",EQUIPi.ID,EQUIPi.EQUIP_Name);printf("tt 设备价格 :%lftt 实验设备种类
29、:%sn",EQUIPi.Price,EQUIPi.Kind);printf("tt 购买日期 :%stt 是否报废 %stt 报废日期 :%sn",EQUIPi.DP,EQUIPi.YN,EQUIPi.DR);EQUIPSum-;EQUIPFlagi=0;printf("n");printf(" 删除成功 n");printf("n");getch( );return;void Print( )/* 显示 */int i=0;if(EQUIPSum<=0)printf("n 无力学实验设
30、备信息!n");getch( );return;printf("n 数量 :%dnn",EQUIPSum);for(i=0;i<EQUIPIndex;i+)if(EQUIPFlagi>0)printf("n 编号 :%st 实验设备名称:%snn",EQUIPi.ID,EQUIPi.EQUIP_Name);printf("tt 设备价格 :%lftt 实验设备种类 :%snn",EQUIPi.Price,EQUIPi.Kind);printf("tt 购买日期 :%stt 是否报废 %stt 报废日 期
31、 :%snn",EQUIPi.DP,EQUIPi.YN,EQUIPi.DR);printf("n");getch( );return;void Count( )/* 统计 */double AllSum=0.0,avg=0.0;int i;for(i=0;i<EQUIPIndex;i+)if(EQUIPFlagi!=1) continue;AllSum+=EQUIPi.Price;avg=AllSum/EQUIPSum;printf(" 实验设备价格平均值为 :%lfn",avg);printf(" 以下实验设备设备价格超过此平
32、均值:n");for(i=0;i<EQUIPIndex;i+) if(EQUIPFlagi!=1) continue;if(EQUIPi.Price>=avg)printf("n 编号 :%st 实验设备名称:%sn",EQUIPi.ID,EQUIPi.EQUIP_Name);printf("tt 设备价格 :%lftt 实验设备种类 :%sn",EQUIPi.Price,EQUIPi.Kind);printf("tt 购买日期 :%stt 是否报废 %stt 报废日期 :%sn",EQUIPi.DP,EQUIP
33、i.YN,EQUIPi.DR); getch();int main( )/* 主函数 */ int choose=0,i;for(i=0;i<MAX;i+) EQUIPFlagi=0;Read( );while(1) system("cls");printf("nt*n");*printf("t*n");printf("t*1:力学实验设备信息录入*n");printf("t*2:力学实验设备信息浏览*n");printf("t*3:力学实验设备信息查询*n");printf("t*4:力学实验设备信息删除*n");printf("t*5:力
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医考核试题及答案
- 浙江省温州市龙湾中学2025届生物高二下期末复习检测模拟试题含解析
- 浙江省亳州市2024-2025学年高二数学第二学期期末统考试题含解析
- 云南省宣威市第十二中学2025届高二生物第二学期期末联考模拟试题含解析
- 浙江省温州市九校2025年高二下物理期末综合测试试题含解析
- 住宅小区地下车库车位租赁与物业管理服务合同
- 国有企业财务总监任期责任与绩效合同
- 《新能源车市场分析与创新销售策略实施合同》
- 车辆购置税代缴合同示范文本
- 企业间技术成果保密及合作开发合同
- 根轨迹法(自动控制原理)PPT课件
- 固体火箭发动机制造工艺
- 工程力学作图题计算题(共63页)
- 全国节能监察机构能力建设仪器装备配置指南
- 试卷密封线模板
- 广告牌钢结构设计计算书(共39页).doc
- 外贸委托付款协议书模板(中英文版)
- 气温曲线和降水柱状图编辑器(可编辑L)
- GST可视对讲系统调试手册
- 职业病危害告知卡(天然气)600×800mm
- 非药品类易制毒化学品销售品种、销售量、主要流向等情况的备案申请书[整理版]
评论
0/150
提交评论