您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 力学设备管理系统程序设计
课程设计报告课程名称C语言课程设计课题名称力学实验设备管理系统专业土木工程班级0902学号23姓名伍建指导教师陈世清扬子华曹燚2010年12月27日湖南工程学院课程设计任务书课程名称C语言课程设计课题力学实验设备管理系统专业班级土木0902学生姓名伍建学号200909070223指导老师陈世清扬子华曹燚审批任务书下达日期2010年12月27日任务完成日期2011年1月2日一、设计内容与设计要求1.设计内容:通过该系统实现对力学实验设备信息进行录入、修改、统计、查询、保存等操作的管理。实验设备信息包括:设备编号,设备种类,设备名称(如烧杯、酒精灯等),设备价格,设备购入日期,是否报废,报废日期等。主要功能:1)、能够完成对设备的录入和修改2)、对设备进行分类统计3)、设备的破损耗费和遗损处理4)、设备的查询5)、将设备信息保存到文件中2.设计要求:1)、设计正确,方案合理。2)、界面友好,使用方便。3)、程序精炼,结构清晰。4)、设计报告5000字以上,。5)、上机演示。二、进度安排第17周星期一布置任务,查找资料。星期二确定总体方案,进行详细设计。星期三编写程序,上机调试。星期四编写程序,上机调试。星期五答辩,总结。星期六~星期天写课程设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、附件、评分(A4大小的图纸及程序清单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、1、设计目的2、总体设计(程序设计组成框图、流程图)3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施5、总结与体会:课程设计的心得与体会。附件:源程序清单,清单中应有足够的注释正文总字数要求在5000字以上(不含程序原代码)。目录1、总体设计2、详细设计3、调试与测试:4、总结与体会附:源程序清单和执行结果一、设计目的1)了解和掌握c语言面向对象程序设计的基本过程2)学会总体规划一个程序,从各个部分把一个程序完成好3)能够使自己的程序实现一定的功能,对C++产生一种浓厚的兴趣4)培养耐心,遇困难不退缩5)了解团队精神的重要性,团结合作6)进一步熟悉C语言的特点二、总体设计1、力学实验设备管理系统信息录入信息修改信息删除信息统计信息查询信息保存2、流程(1)开始进入系统123456BreakBreakBreakBreakBreakbreak(2)菜单界面基本信息录入基本信息保存基本信息查询基本信息显示基本信息删除基本信息修改(3)信息录入1)按编号查询2)按名称查询3)按种类查询(4)显示所有(5)结束,保存信息(6)退出系统退出保存Menu_select开始添加记录查找记录显示记录删除记录修改记录结束三、调试与测试3.1调试执行程序时,显示如下信息:输入一组数据后,显示菜单:选择不同的选项,执行相应的功能。选择1添加设备信息选择2查找设备信息,可按三种方式查找选择3,可显示信息。选择4,删除设备信息选择5,修改设备信息。选择0,保存并退出。3、2测试及其解决问题在测试过程中,关于购买日期和报废日期,输入正常,显示则成了乱码,经过仔细检查发现在定义变量的出现了问题,及时改正。另外由于疏忽,没有将密码函数链接到主函数中,使得密码功能没有体现,及时调整。显示内容与表头进行调整对齐,由于显示函数和查找函数都有显示功能,需要同时调整。四、详细设计4.1函数以及调用关系voiduserinterface()/*菜单函数*/123456BreakBreakBreakBreakBreakbreak退出保存Menu_select开始添加记录查找记录显示记录删除记录修改记录结束voidshowall();/*显示函数*/真假真head==NULL======NNNNNNNNNNULLNULLNULLhhhhheadhhhhhead==NULL显示信息调用save()退出结束开始voidadd()/*增加设备函假真输入编号Record=0输入数据(名称、种类、价格、购买日期、报废日期、是否报废)继续添加结束开始voiddelet()/*删除函数*/真假输入要删除学生学号Num=!0结束开始输入num删除成功Choices()voidfind()/*查找函数*voidfindchoice()真假开始判断显示要查找内容没有找到退出按名称查找按种类查找按编号查找voidmodify()/*修改信息函数*/假真voidsave();/*把信息保存到磁盘*/输入编号Record=0输入数据(新的名称、种类、价格、购买日期、报废日期、是否报废)结束开始开始数据写入文件关闭文件退出打开文件voidload();/*读数据*/开始打开文件读出数据关闭文件退出五、心得与体会经过一个学期的C语言学习,在老师的悉心帮助下,我懂得了许多关于程方面的知识,知道怎么运用一个程序,学会编写简单的程序。实验室设备信息的浏览查询:分为对设备信息的浏览和对设备信息的准确查询。查询可以是不同字段的联合查询。该操作是所有用户都具有的操作权限。设备事故记录:分为对设备事故的增加、设备事故的删除、设备事故的修改。作权限是管理员具有。设备资料管理模块:分为对设备施工单位、设备生产厂家、设备的相关信息。该操作权限是管理员具有设备的损坏管理:对设置的使用过程中遇到的设备损坏进行记录,并且修改相关联的数据信息。该操作对管理员开发,一般用户不具备。设备损坏信息浏览查询:实现对损坏设备信息的准确查询。查询可以是不同字段的联合查询。该操作是所有用户都具有的操作权限设备类别设置:实验室的仪器分门别类,包括类别名称,类别数量,最低数量的设置。该操作属于管理员权限。系统用户的管理:使用该系统的包括:管理员和实验课指导教师,管理员具有对实验课指导教师记录进行添加,修改,删除等操作权限。用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。VisualBasic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。VisualBasic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率虽然对C语言知识的学习还只是皮毛,但通过这一段时间的学习和认知,我以深深爱上了C语言,希望以后能继续学习,继续深入的研究,加深对这门课程的理解,把知识运用到我们的生活当中。附件:源程序清单#includestdio.h#includeconio.h#includestring.h#includestdlib.h#defineSIZE50#defineMAX100voidRead();/*读数据*/voidSave();/*存数据*/voidSearch();/*查找*/voidSearchByID();/*按编号查找*/voidSearchByEQUIP_Name();/*按实验设备名称查找*/voidDelete();/*删除*/voidPrint();/*显示*/voidAdd();/*录入*/voidModify();/*修改*/voidCount();/*统计*/structcEQUIP/*实验设备结构体*/{charID[SIZE];/*编号*/charEQUIP_Name[SIZE];/*实验设备名称*/doublePrice;/*设备价格*/charKind[SIZE];/*实验设备种类*/charDP[SIZE];/*购买日期*/charYN[SIZE];/*是否报废*/charDR[SIZE];/*报废日期*/}EQUIP[MAX],temp;intEQUIPIndex=0;intEQUIPSum=0;intEQUIPFlag[MAX];voidAdd()/*录入数据*/{printf(请输入编号:);scanf(%s,temp.ID);printf(请输入实验设备名称:);scanf(%s,temp.EQUIP_Name);printf(请输入实验设备的设备价格:);scanf(%lf,&temp.Price);printf(请输入实验设备种类:);scanf(%s,temp.Kind);printf(请输入购买日期:);scanf(%s,temp.DP);printf(请输入是否报废:);scanf(%s,temp.YN);printf(请输入报废日期:);scanf(%s,temp.DR);EQUIP[EQUIPIndex]=temp;EQUIPFlag[EQUIPIndex]=1;EQUIPSum++;EQUIPIndex++;printf(录入成功!\n);getch();}voidRead()/*读取数据*/{FILE*pfile=NULL;charbuf[SIZE];if((pfile=fopen(EQUIP.txt,r))==NULL){printf(读取信息失败!\n);return;}while(fgets(buf,SIZE,pfile)){fscanf(pfile,%s,EQUIP[EQUIPIndex].ID);fscanf(pfile,%s,EQUIP[EQUIPIndex].EQUIP_Name);fscanf(pfile,%lf\n,&EQUIP[EQUIPIndex].Price);fscanf(pfile,%s,EQUIP[EQUIPIndex].Kind);fscanf(pfile,%s,EQUIP[EQUIPIndex].DP);fscanf(pfile,%s,EQUIP[EQUIPIndex].YN);fscanf(pfile,%s,EQUIP[EQUIPIndex].DR);EQUIPFlag[EQUIPIndex]=1;EQUIPSum++;EQUIPIndex++;}EQUIPSum--;EQUIPIndex--;fclose(pfile);return;}voidSave()/*保存数据*/{inti=0;FILE*pfile=NULL;if((pfile=fopen(EQUIP.txt,w+))==NULL){printf(保存信息失败!\n);return;}for(i=0;iEQUIPIndex;i++)if(EQUIPFlag[i]0){fprintf(pfile,\n);fprintf(pfile,%s\n,EQUIP[i].ID);fprintf(pfile,%s\n,EQUIP[i].EQUIP_Name);fprintf(pfile,%lf\n,EQUIP[i].Price);fprintf(pfile,%s\n,EQUIP[i].Kind);fprintf(pfile,%s\n,EQUIP[i].DP);fprintf(pfile,%s\n,EQUIP[i].YN);fprintf(pfile,%s\n,EQUIP[i].DR);}printf(保存成功!\n);getch();fclose(pfile);}voidSearch()/*查找*/{intchoose=0;while(1){system(cls);printf(\n\n\n);printf(1:按实验设备编号查询\n\n);printf(2:按实验设备名称查询\n\n);printf(3:返回\n\n);printf(请选择:);scanf(%d,&choose);switch(choose){case1:SearchByID();break;case2:SearchByEQUIP_Name();br
本文标题:力学设备管理系统程序设计
链接地址:https://www.777doc.com/doc-1309565 .html