实验设备综合管理系统c语言版.doc
《实验设备综合管理系统c语言版.doc》由会员分享,可在线阅读,更多相关《实验设备综合管理系统c语言版.doc(30页珍藏版)》请在咨信网上搜索。
1、C语言课程设计试验汇报班级 姓名 学号 11130730试验课程 C试验名称 试验设备管理系统试验成绩 试验日期 .3.5任课老师一、 目标(此次课程设计 所包含并要求掌握知识点。)课程设计在学校试验室设备管理工作中,设备编排是一项十分复杂、棘手工作。在编排过程中,因为数量多轻易犯错。利用计算机辅助进行设备编排工作,既提升了编排科学性,又可大大减轻管理人员工作强度,提升工作效率,从而教学设备管理现代化迈上了一个新台阶。试验室设备信息用文件存放,故要提供文件输入输出操作;要能够完成设备录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作
2、;另外还要提供键盘式选择菜单以实现功效选择总体设计整个系统被设计为试验设备信息输入模块、试验设备信息添加模块、试验设备信息修改模块、试验设备分类统计模块和试验设备查询模块。知识点1.对于结构体数组定义使用2.指针变量使用3.以文件方法输入输出,熟练掌握文件多种方法4.对于循环应用格式5.部分函数应用,如strcmp函数总结:提升程序设计能力和课堂知识内容应用,掌握程序设计基础方法和调 试技能。对指针,数组,文件了解愈加深刻。二、使用环境 (此次上机实践所使用平台和相关软件。 )Visual C+三、内容和设计思想 (1 设计思绪 2 关键数据结构 3 关键代码结构 4 关键代码段分析 。 )1
3、 设计思绪 以下图所表示试验设备管理系统添加追加修改统计搜索按编号按名称按价格2 关键数据结构typedef struct EquInfo /定义结构体 char equipCode10; /编号 char equipType20; /种类 char equipName20; /名称 float equipPrice; /价格 char buyDate20; /购置日期 int scrap; /是否报废 char scrapDate20; /报废日期EquInfo;3 关键代码结构 1.主函数 开 始显 示 一 系 列 功 能 选 项输入n,判定n是否是05? 调 用 和 n 相 应 模 块N
4、Y 输入用户要输入设备个数i2.添加模块输入设备各项具体信息退出将输入信息存放到文件中21返回主菜单3.修改模块输入要修改设备编号是否找到该设备资料显示找到统计,调用修改函数显示没有找到对该设备信息进行修改返回主菜单返回主菜单y n输入设备类型退出21返回主菜单输出统计结果文件中设备信息进行统计4.统计模块5.搜索模块 问询用户想要选择搜索方法4 关键代码段分析(1).添加模块关键是实现设备添加,输入添加设备个数,然后用for循环语句,循环次数是你输入设备个数。循环输出设备编号,种类名称,用fopen打开文件,w写方法实现首次添加。int addition() /*添加模块*/ EquInfo
5、 news50; int i,j,c; FILE *fp; system(cls); printf(你想输入多少个设备?n); scanf(%d,&i); /*输入要添加设备个数*/ for(j=0;ji;j+) printf(-n); printf(输入设备编号n); scanf(%s,&newsj.equipCode); printf(输入设备种类n); scanf(%s,newsj.equipType); if(fp=fopen(swy.txt,w)=NULL) /*打开文件,输入保留*/ printf(不能打开文件!n);for (j=0;ji;j+) fprintf(fp,%s %s
6、 %s %f %s %d %s ,newsj.equipCode,newsj.equipType,newsj.equipName,newsj.equipPrice,newsj.buyDate,newsj.scrap,newsj.scrapDate);fclose(fp);printf(n-n);printf(返回主菜单? n);printf(1.是n);printf(2.不,退出n);scanf(%d,&c);if(c=1)return(-1);if(c=2)return(0); /*任务结束选择是返回主菜单还是跳出*/(2).修改模块用for循环使用feof函数从文件头逐一读取文件字符直到文
7、件结尾,其中用了strcmp函数,比较文件中数据和输入数是否匹配,若是匹配,返回0,说明你输入编号正确,键面进入请输入新编号、种类、名称等,将修改后信息写入文件中,成功后输出write。int modifty() /*修改模块*/if(fp=fopen(swy.txt,r)=NULL)printf(n不能打开文件!n);for(i=0;!feof(fp);i+) /文件头逐一读取文件字符直到文件结尾fscanf(fp,%s %s %s %f %s %d %s ,equi.equipCode,equi.equipType,equi.equipName,&equi.equipPrice,&equi
8、.buyDate,&equi.scrap,&equi.scrapDate);if(strcmp(equi.equipCode,code)=0)/判定文件数据和输入数是否匹配printf(-n);printf(输入新设备编号n);scanf(%s,equi.equipCode);printf(输入新设备种类n); /*将修改后信息写入文件 fclose(fp);j=i;for(i=0;ij;i+)fprintf(fp,%s %s %s %f %s %d %s ,equi.equipCode,equi.equipType,equi.equipName,equi.equipPrice,equi.bu
9、yDate,equi.scrap,equi.scrapDate);printf(nwrite!n);fclose(fp); (3).统计模块先输入设备类型,判定是否匹配,是话输出ok,并把对应内容输出,定义一个计数器count,每循环一次,自加1int total()/统计模块 float sum=0;int count=0; float aver=0;char type20; EquInfo equ;if(strcmp(equ.equipType,type)=0) printf(nOK!n);printf(%s,%s,%s,%f,%s,%d,%sn,equ.equipCode,equ.equ
10、ipType,equ.equipName,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate);count+;sum+=equ.equipPrice;aver=sum/count; fclose(fp);printf(-统计-返回结果-); printf(nn这个类型是:%d,count); printf(nn统计总价格:%f,sum); printf(nn平均价格是:%f,aver);(4).搜索模块分为按编号搜索,设备名搜索,设备价格搜索,用switch循环,来判定进入哪个,比如若输入为1 ,就会按编号搜索。switch(choice) c
11、ase 0:exit(0);break;case 1:printf(请输入设备编号:n);scanf(%s,code);for(i=0;!feof(fp);i+)/从文本中读取设备编号fscanf(fp,%s %s %s %f %s %d %s ,equ.equipCode,equ.equipType,equ.equipName,&equ.equipPrice,&equ.buyDate,&equ.scrap,&equ.scrapDate);if(strcmp(equ.equipCode,code)=0) printf(nequipCode,equipType,equipName,equipPr
12、ice,buyDate,scrap,ScrapDaten); printf(n%s,%s,%s,%f,%s,%d,%sn,equ.equipCode,equ.equipType,equ.equipName,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate);getchar();break;case 2:printf(请输入设备名称:n);scanf(%s,name);for(i=0;!feof(fp);i+)fscanf(fp,%s %s %s %f %s %d %s ,equ.equipCode,equ.equipType,equ.equi
13、pName,&equ.equipPrice,&equ.buyDate,&equ.scrap,&equ.scrapDate);if(strcmp(equ.equipName,name)=0) printf(nequipCode,equipType,equipName,equipPrice,buyDate,scrap,ScrapDaten); printf(n%s,%s,%s,%f,%s,%d,%sn,equ.equipCode,equ.equipType,equ.equipName,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate); getc
14、har(); break; case 3: printf(请输入设备价格:n); scanf(%f,&price); for(i=0;!feof(fp);i+) fscanf(fp,%s %s %s %f %s %d %s ,equ.equipCode,equ.equipType,equ.equipName,&equ.equipPrice,&equ.buyDate,&equ.scrap,&equ.scrapDate); if(equ.equipPrice=price) printf(nequipCode,equipType,equipName,equipPrice,buyDate,scrap,
15、ScrapDaten);printf(n%s,%s,%s,%f,%s,%d,%sn,equ.equipCode,equ.equipType,equ.equipName,equ.equipPrice,equ.buyDate,equ.scrap,equ.scrapDate); getchar();break; (5).追加模块和添加模块相同,只有一个地方不一样,追加是以fopen打开文件,以a追加方法追加数据if(fp=fopen(swy.txt,a)=NULL) /a 方法为追加printf(不能打开文件!n);for (j=0;ji;j+)fprintf(fp,%s %s %s %f %s %
16、d %s ,newequj.equipCode,newequj.equipType,newequj.equipName,newequj.equipPrice,newequj.buyDate,newequj.scrap,newequj.scrapDate);fclose(fp);四、调试过程 (1 测试数据设计 2 测试结果分析 )(1)测试数据设计: 进入主菜单:依据需求操作,按“1”添加信息,方便测试设备个数:2设备编号:1设备各类:abc设备名称:switch设备价格:90购置日期:0101是否报废:0报废日期:0(2)测试结果分析:1.主菜单函数:依据需求输入对应操作主菜单2.添加模块:
17、当输入1后,进入添加页面,对设备各方面信息进行添加添加设备添加后文本中数据3.修改模块:输入您需要修改设备编号,假如输入编号和查找不相同将真提醒返回菜单或退出,正确进入以下键面修改设备信息修改后文本中信息4.追加模块:输入您需要追加设备个数,进行设备信息添加,进入以下所表示追加设备追加后文件中数据5.统计模块:输入设备类型,进行设备信息统计,进入以下所表示分类统计6.搜索模块:选择你需要搜索方法,能够按编号搜索,也能够按设备名搜索,还能够按设备价格搜索,以下所表示按编号搜索按价格搜索按设备名搜索7.退出模块:选择5直接退出系统退出五、总结 1 设计中碰到问题及处理过程 文本中会出现乱码,但不是
18、全部数据全部就乱码,而是文件是其中某一项是乱码,应该不是fread和fprint问题,以后发觉我定义是char字符串类型,但在输入数据时scanf(%d,&equi.buyDate);用是%d格式输入。2 设计中产生错误及原因分析 在修改模块中,修改数据成功后,信息写入文件中,成功后,在键面上输出Write证实你已经修改信息成功。可是会出现好多个write,文本中有几条就会出现多个write。经过讨论,得悉,修改成功后没有跳出for循环,遍历文本中信息,每遍历一次,循环输出一次ok。最终把输出语句放入For循环外面。这问题就成功处理。3 设计体会和收获。经过一个星期上机实践学习,使我对C语言有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 设备 综合 管理 系统 语言版
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。