《力学设备管理系统程序设计18314.docx》由会员分享,可在线阅读,更多相关《力学设备管理系统程序设计18314.docx(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计计报告课程名称称 C语语言课程程设计课题名称称 力学实实验设备备管理系系统 专业 土木木工程班级 009022学号233姓名伍建建指导教师师陈世清清扬子华华曹燚20100年 122 月27 日湖南工程程学院课程设计计任务书课程名称称C语言课课程设计计 课题力学学实验设设备管理理系统专业班级级土木009022学生姓名名 伍建建 学号2000900907702223指导老师师陈世清清扬子华华曹燚审批任务书下下达日期期 20110 年年 122 月 277 日任务完成成日期 20011年年 11 月 22日一、设计计内容与与设计要要求1设计计内容:通过该系系统实现现对力学学实验设设备信息息进
2、行录录入、修修改、统统计、查询、保保存等操操作的管管理。实验设备备信息包包括:设设备编号号,设备备种类,设设备名称称(如烧烧杯、酒酒精灯等等),设设备价格格,设备备购入日日期,是是否报废废,报废废日期等等。主要功能能:1)、能能够完成成对设备备的录入入和修改改2)、对对设备进进行分类类统计3)、设设备的破破损耗费费和遗损损处理4)、设设备的查查询5)、将将设备信信息保存存到文件件中2设计计要求:1)、设设计正确确,方案案合理。2)、界界面友好好,使用用方便。3)、程程序精炼炼,结构构清晰。4)、设设计报告告50000字以以上,。5)、上上机演示示。二、进度度安排第17周周 星星期一 布置置任务
3、,查查找资料料。 星期期二 确定总总体方案案,进行行详细设设计。 星期期三 编写程程序,上上机调试试。 星期期四 编写程程序,上上机调试试。星期五 答辩辩,总结结。星期六星期天天 写写课程设设计报告告附:课程设计计报告装装订顺序序:封面面、任务务书、目目录、正正文、附附件、评评分(AA4大小小的图纸纸及程序序清单)。 正文的格格式:一一级标题题用3号号黑体,二级标标题用四四号宋体体加粗,正文用用小四号号宋体;行距为为22。正文的内内容:一一、1、设设计目的的 2、总总体设计计(程序序设计组组成框图图、流程程图)33、详细细设计(模模块功能能说明(如函数功能、入口及出口参数说明,函数调用关系描述
4、等)4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施 5、总结与体会:课程设计的心得与体会。附件:源程序清单,清单中应有足够的注释正文总字字数要求求在50000字字以上(不不含程序序原代码码)。目录1、 总体设计计2、 详细设计计3、 调试与测测试:4、 总结与体体会附:源程程序清单单和执行行结果一、设计计目的1)了解解和掌握握c语言言面向对对象程序序设计的的基本过过程2)学会会总体规规划一个个程序,从从各个部部分把一一个程序序完成好好3)能够够使自己己的程序序实现一一定的功功能,对对C+产生一一种浓厚厚的兴趣趣4)培养养耐心,遇遇困难不不退缩5)了解解
5、团队精精神的重重要性,团团结合作作6)进一一步熟悉悉C语言言的特点点二、总体体设计1、力学学实验设设备管理理系统信息录入入 信息修修改信息删除除 信息统统计 信息查查询 信息保保存2、流程程(1)开开始进入入系统开始添加记录查找记录显示记录删除记录修改记录结束Menu_select退出保存 1 22 3 44 5 6 Breeak BBreaak Breeak Brreakk BBreaak brreakk (2)菜菜单界面面基本信息息录入基本信息息保存基本信息息查询基本信息息显示基本信息息删除基本信息息修改(3)信信息录入入1)按编编号查询询2)按名名称查询询3)按种种类查询询(4)显显示所
6、有有(5)结结束,保保存信息息(6)退退出系统统三、调试试与测试试3.1调调试执行程序序时,显显示如下下信息:输入一组组数据后后,显示示菜单:选择不同同的选项项,执行行相应的的功能。选择1添加设备信息选择2查查找设备备信息,可可按三种种方式查查找选择3,可可显示信信息。选择4,删删除设备备信息选择5,修修改设备备信息。选择0,保保存并退退出。3、2测测试及其其解决问问题在测试过过程中,关关于购买买日期和和报废日日期,输输入正常常,显示示则成了了乱码,经经过仔细细检查发发现在定定义变量量的出现现了问题题,及时时改正。另外由于于疏忽,没没有将密密码函数数链接到到主函数数中,使使得密码码功能没没有体
7、现现,及时时调整。显显示内容容与表头头进行调调整对齐齐,由于于显示函函数和查查找函数数都有显显示功能能,需要要同时调调整。四、详细细设计4.1函函数以及及调用关关系voidd usseriinteerfaace()/*菜菜单函数数*/开始添加记录查找记录显示记录删除记录修改记录结束Menu_select退出保存 1 22 3 44 5 66 Breeak BBreaak Breeak Brreakk BBreaak brreakk voidd shhowaall();/*显显示函数数*/开始调用save( )head=NULL = =N NNNNNNNNNULL NULL NULLhhhhhe
8、ad hhhhhead=NULL显示信息真 假 真退出结束voidd addd()/*增增加设备备函开始输入编号Record=0假 真输入数据( 名称、种类、价格、购买日期、报废日期、是否报废)继续添加结束voidd deelett()/*删删除函数数*/开始输入要删除学生学号输入numNum=!0 真 假删除成功Choices()结 束voidd fiind()/*查查找函数数*开始按名称查找按种类查找按编号查找判断显示要查找内容没有找到退 出 vooid finndchhoicce()真 假假voidd moodiffy()/*修修改信息息函数*/开始输入编号Record=0假 真输入数据
9、( 新的名称、种类、价格、购买日期、报废日期、是否报废)结束voidd saave();/*把把信息保保存到磁磁盘*/退 出关闭文件开始打开文件数据写入文件voidd looad();/*读读数据*/开始关闭文件读出数据打开文件退 出五、心得得与体会会经过一个个学期的的C语言学学习,在在老师的的悉心帮帮助下,我我懂得了了许多关关于程方方面的知知识,知知道怎么么运用一一个程序序,学会会编写简简单的程程序。实验室设设备信息息的浏览览查询:分为对对设备信信息的浏浏览和对对设备信信息的准准确查询询。查询询可以是是不同字字段的联联合查询询。该操操作是所所有用户户都具有有的操作作权限。设备事故故记录:分为
10、对对设备事事故的增增加、设设备事故故的删除除、设备备事故的的修改。作权限是管理员具有。设备资料管理模块:分为对设备施工单位、设备生产厂家、设备的相关信息。该操作权限是管理员具有设备的损坏管理:对设置的使用过程中遇到的设备损坏进行记录,并且修改相关联的数据信息。该操作对管理员开发,一般用户不具备。设备损坏信息浏览查询:实现对损坏设备信息的准确查询。查询可以是不同字段的联合查询。该操作是所有用户都具有的操作权限设备类别设置:实验室的仪器分门别类,包括类别名称,类别数量,最低数量的设置。该操作属于管理员权限。系统用户的管理:使用该系统的包括:管理员和实验课指导教师,管理员具有对实验课指导教师记录进行
11、添加,修改,删除等操作权限。用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功
12、能的那部分代码,从而可以大大提高程序设计的效率虽然对CC语言知知识的学学习还只只是皮毛毛,但通通过这一一段时间间的学习习和认知知,我以以深深爱爱上了CC语言,希希望以后后能继续续学习,继继续深入入的研究究,加深深对这门门课程的的理解,把把知识运运用到我我们的生生活当中中。附件:源源程序清清单#inccludde #inccludde #inccludde #inncluude #ddefiine SIZZE 550#ddefiine MAXX 1000vooid Reaad( ); /* 读数数据 */vooid Savve( ); /* 存数数据 */vooid Seaarchh( ); /
13、* 查找 */vvoidd SeearcchByyID( ); /* 按按编号查查找 */vooid SeaarchhByEEQUIIP_NNamee( ); /* 按实验验设备名名称查找找 */voiid DDeleete( ); /* 删删除 */vooid Priint( ); /* 显显示 */vooid Addd( ); /* 录入 */voiid MModiify( ); /* 修修改 */vooid Couunt( ); /* 统统计 */sttrucct ccEQUUIP /* 实验验设备结结构体 */chaar IIDSSIZEE; /* 编号号 */ chhar EQUUI
14、P_NammeSSIZEE; /* 实验验设备名名称 */dooublle Priice; /* 设设备价格格 */chaar KKinddSIIZE; /* 实验设设备种类类 */chaar DDPSSIZEE; /* 购买买日期 */ccharr YNNSIIZE; /* 是否报报废 */chhar DRSIZZE; /* 报报废日期期 */EQUUIPMAXX,ttempp;innt EQUUIPIIndeex=00;innt EQUUIPSSum=0;iint EQQUIPPFlaagMMAX;vooid Addd( ) /* 录录入数据据 */priintff(请请输入编编号:);s
15、scannf(%s,teemp.ID);prrinttf(请输入入实验设设备名称称:);sccanff(%s,temmp.EEQUIIP_NNamee);pprinntf(请输输入 实实验设备备的设备备价格:);scaanf(%llf,&teemp.Priice);prrinttf(请输入入实验设设备种类类:);sccanff(%s,temmp.KKindd); prrinttf(请输入入购买日日期:);sscannf(%s,teemp.DP); priintff(请请输入是是否报废废:);sccanff(%s,temmp.YYN); pprinntf(请输输入报废废日期:);scaanf(%
16、ss,ttempp.DRR);EEQUIIPEEQUIIPInndexx=ttempp;EQQUIPPFlaagEEQUIIPInndexx=11;EQQUIPPSumm+; EQQUIPPInddex+;pprinntf(录入入成功!n);ggetcch();voiid RReadd( ) /* 读读取数据据 */FILLE *pfiile= NUULL; chhar buffSIIZE; iif(pfiile = ffopeen(EQUUIP.txtt, r) = NULLL) prrinttf(读取信信息失败败!nn); reeturrn; whhilee(fggetss(buuf, S
17、IZZE, pfiile)fsccanff(pffilee,%s,EQUUIPEQUUIPIIndeex.ID);fsscannf(ppfille,%s,EQQUIPPEQQUIPPInddex.EQQUIPP_Naame);fsscannf(ppfille,%lffn,&EEQUIIPEEQUIIPInndexx.PPricce);fsccanff(pffilee,%s,EQUUIPEQUUIPIIndeex.Kinnd); fsscannf(ppfille,%s,EQQUIPPEQQUIPPInddex.DPP); fsccanff(pffilee,%s,EQUUIPEQUUIPIInde
18、ex.YN); ffscaanf(pfiile,%ss,EEQUIIPEEQUIIPInndexx.DDR);EQUUIPFFlaggEQQUIPPInddex=1;EQUUIPSSum+;EEQUIIPInndexx+;EQQUIPPSumm-;EQUUIPIIndeex-;fcclosse(ppfille);retturnn;voiid SSavee( ) /* 保保存数据据 */intt i=0;FFILEE *ppfille= NULLL; if(pffilee = foppen(EQQUIPP.txxt, ww+) = NNULLL) prrinttf(保存信信息失败败!nn); r
19、eeturrn; foor(ii=0;i0)fprrinttf(ppfille,n);ffpriintff(pffilee,%snn,EEQUIIPii.IID);fprrinttf(ppfille,%sn,EQUUIPi.EQUUIP_Namme);fprrinttf(ppfille,%lffn,EQQUIPPi.Prricee);ffpriintff(pffilee,%snn,EEQUIIPii.KKindd); ffpriintff(pffilee,%snn,EEQUIIPii.DDP); fprrinttf(ppfille,%sn,EQUUIPi.YN); fpprinntf(pfii
20、le,%ssn,EQQUIPPi.DRR);prrinttf(保存成成功!n);geetchh( );fcclosse(ppfille);voiid SSearrch( ) /* 查找找 */intt chhoosse=00;whhilee(1)sysstemm(ccls);pprinntf(nnnn);prrinttf( 1: 按实实验设备备编号查查询nnn);pprinntf( 2: 按按实验设设备名称称查询nnn);priintff( 33: 返回nnn);priintff(请请选择:);scaanf(%dd,&chooosee);sswittch(chooosee)casse 11:S
21、eearcchByyID( );breeak;casse 22:SeearcchByyEQUUIP_Namme( );bbreaak;ccasee 3:retturnn;deefauult:breeak;retturnn;voiid SSearrchBByIDD( ) /* 按按编号查查找 */chaar iidSSIZEE;iint i=00;prrinttf(n输输入编号号:);sccanff(%s,id);foor(ii=0;i=EQUUIPIIndeex) prrinttf(查找失失败nn);elsse iif(EEQUIIPFllagi=0) prrinttf(查找失失败nn);el
22、sse priintff(n查找找成功:n);pprinntf(nn编号:%st实验验设备名名称:%snn,EEQUIIPii.IID,EEQUIIPii.EEQUIIP_NNamee);pprinntf(ttt设设备价格格:%llfttt实实验设备备种类:%sn,EQUUIPi.Priice,EQUUIPi.Kinnd);priintff(ttt购买日日期:%sttt是是否报废废%sttt报废日日期:%snn,EEQUIIPii.DDP,EEQUIIPii.YYN,EEQUIIPii.DDR); prrinttf(n);ggetcch( );rretuurn;voiid SSearrchBB
23、yEQQUIPP_Naame( ) /* 按实实验设备备名称查查找 */chaar EEQUIIP_NNameeSIIZE;innt ii=0,j=00;prrinttf(n请请输入实实验设备备名称:);scaanf(%ss,EEQUIIP_NNamee);ffor(i=00;iEQUUIPIIndeex;ii+)if(strrcmpp(EQQUIPPi.EQQUIPP_Naame,EQUUIP_Namme)=0)if(EQUUIPFFlaggi!=00)j=11;prrinttf(n编编号:%stt实验设设备名称称:%ssn,EQQUIPPi.IDD,EQQUIPPi.EQQUIPP_Naa
24、me);prrinttf(tt设备备价格:%lfftt实验验设备种种类:%snn,EEQUIIPii.PPricce,EEQUIIPii.KKindd);pprinntf(ttt购购买日期期:%sstt是否否报废%sttt报报废日期期:%ssn,EQQUIPPi.DPP,EQQUIPPi.YNN,EQQUIPPi.DRR);if(j=0) prrinttf(查找失失败nn);priintff(n);geetchh( );reeturrn;voiid MModiify( ) /* 修改改 */chaar iidSSIZEE;iint i=00;prrinttf(请输入入编号:);scaanf(%
25、ss,iid);forr(i=0;ii=EQUUIPIIndeex) prrinttf(查找失失败nn);elsse iif(EEQUIIPFllagi=0) prrinttf(查找失失败nn);elssepriintff(查查找成功功:nn);priintff(n编号号:%sst实实验设备备名称:%sn,EQUUIPi.ID,EQUUIPi.EQUUIP_Namme);priintff(ttt设备价价格:%lfttt实验设设备种类类:%ssn,EQQUIPPi.Prricee,EQQUIPPi.Kiind);prrinttf(tt购买买日期:%sttt是否报报废%sstt报废废日期:%sn,
26、EQUUIPi.DP,EQUUIPi.YN,EQUUIPi.DR);prrinttf(n开开始修改改:nn);priintff(请请输入编编号:);sscannf(%s,teemp.ID);prrinttf(请输入入实验设设备名称称:);sccanff(%s,temmp.EEQUIIP_NNamee);pprinntf(请输输入设备备价格:);scaanf(%llf,&teemp.Priice);prrinttf(请输入入实验设设备种类类:);sccanff(%s,temmp.KKindd);pprinntf(请输输入购买买日期:);scaanf(%ss,ttempp.DPP);pprinnt
27、f(请输输入是否否报废:);scaanf(%ss,ttempp.YNN);pprinntf(请输输入报废废日期:);scaanf(%ss,ttempp.DRR);EEQUIIPii=ttempp; priintff(n);reeturrn;voiid DDeleete( ) /* 删除除 */chaar iidSSIZEE;iint i=00;prrinttf(请输入入编号:);scaanf(%ss,iid);forr(i=0;ii=EQUUIPIIndeex) prrinttf(查找失失败nn);elsse iif(EEQUIIPFllagi=0) prrinttf(查找失失败nn);els
28、se priintff(n查找找成功:n);pprinntf(nn编号:%st实验验设备名名称:%snn,EEQUIIPii.IID,EEQUIIPii.EEQUIIP_NNamee);pprinntf(ttt设设备价格格:%llfttt实实验设备备种类:%sn,EQUUIPi.Priice,EQUUIPi.Kinnd);priintff(ttt购买日日期:%sttt是是否报废废%sttt报废日日期:%snn,EEQUIIPii.DDP,EEQUIIPii.YYN,EEQUIIPii.DDR); EEQUIIPSuum-;EQQUIPPFlaagii=00;prrinttf(n);pprinn
29、tf(删除除成功n); priintff(n);geetchh( );reeturrn;voiid PPrinnt( ) /* 显示 */ iint i=00;iff(EQQUIPPSumm=00)priintff(n无力力学实验验设备信信息!n);geetchh( );reeturrn;priintff(n数量量:%ddnn,EQUUIPSSum);foor(ii=0;i0)priintff(n编号号:%sst实实验设备备名称:%snnn,EEQUIIPii.IID,EEQUIIPii.EEQUIIP_NNamee);pprinntf(ttt设设备价格格:%llfttt实实验设备备种类:%s
30、nnn,EEQUIIPii.PPricce,EEQUIIPii.KKindd);pprinntf(ttt购购买日期期:%sstt是否否报废%sttt报报废日期期:%ssnn,EQUUIPi.DP,EQUUIPi.YN,EQUUIPi.DR);priintff(n);geetchh( );reeturrn;voiid CCounnt( ) /* 统计 */douublee AAllSSum=0.00,avvg=00.0;intt i;forr(i=0;iiEQQUIPPInddex;i+)if(EQUUIPFFlaggi!=11) cconttinuue;AAllSSum+=EQQUIPPi.P
31、rricee;avgg=AlllSuum/EEQUIIPSuum;pprinntf(实验验设备价价格平均均值为:%lffn,avvg);priintff(以以下实验验设备设设备价格格超过此此平均值值:nn);forr(i=0;ii=avgg)priintff(n编号号:%sst实实验设备备名称:%sn,EQUUIPi.ID,EQUUIPi.EQUUIP_Namme);priintff(ttt设备价价格:%lfttt实验设设备种类类:%ssn,EQQUIPPi.Prricee,EQQUIPPi.Kiind);prrinttf(tt购买买日期:%sttt是否报报废%sstt报废废日期:%sn,EQ
32、UUIPi.DP,EQUUIPi.YN,EQUUIPi.DR);gettch();intt maain( ) /* 主函函数 */intt chhoosse=00,i;forr(i=0;iiMAAX;ii+)EQUUIPFFlaggi=0;Reaad( );wwhille(11)sysstemm(ccls);pprinntf(nnt*);pprinntf(nnt* 欢迎迎进入力力学实验验设备信信息管理理系统 *n);pprinntf(tt* *n);pprinntf(tt* 11: 力学实实验设备备信息录录入 *n);prrinttf(t* 2: 力力学实验验设备信信息浏览览 *nn);priintff(t* 3: 力学学实验设设备信息息查询 *n);pprinntf(tt* 44: 力学实实验设备备信息删删除 *n);prrinttf(t* 5: 力力学实验验设备信信息修改改 *nn);priintff(t* 6: 统计计超过平平均值的的设备 *n);pprinntf(tt* 77: