版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计报告1课程设计题目:实验室设备管理里系统实验设备信息包括:设备编号、设备种类(如:微机打印机扫描仪等等)、设备名称、设备价格、设备购入日期、是否报废、报废日期等。试设计一实验设备信息管理系 统,使之能提供以下功能:(1)能够完成对设备的录入和修改(2)对设备进行分类统计(3)设备的查询2需求分析实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入 和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作; 实现对设备查询需要提供查找操作,设备的查询可根据设备编号设备种类设备购入日期 正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜
2、单以实现功能选择。3总体设计与模块的划分整个系统可设计为实验设备信息输入模块实验设备信息添加模块实验设备信息修 改模块实验设备分类统计模块和实验设备查询模块。设备甯理系统设入设备信改设备信询设备信计设备信废 设 备 信主函数流程图:AIN+甲n-调用.功能横, 结,4建立实验设备信息结构体结构体成员包括设备编号设备名称部门编号部门名称设备价格设备购买时间是否 报废报废日期。5应用程序功能详细说明程序运行后进入管理系统,显示目录:录入设备信息,修改设备信息,查询设备 信息,统计设备信息,报废设备信息,退出录入设备信息系统提示用户在原有的基础上录入新的设备信息。流程图如下:(1)修改记录系统要求用
3、户输入要修改的设备编号, 这时系统会显示设备 的具体信息,用户只需该设备新的信息按要求输入即可对信息进行修改。流程图 如下:(2)显示记录无记录退出,有记录者按要求输出。流程图如下:开没有记录可以显 有记录者按要求(3)统计小类若有确Ur以统计,则按要求分类统计输出。流程图如下:(4)查询记录若信息为空,则不能查询。流程图如下:(6)结束语通过本次c语言的程序设计,我不仅提高巩固了 c语言的基础,也初学习了编写 一个实用程序的流程,提高了动手操作能力,也提高了对编程的兴趣。我相信经过努力 后,我的编程能力一定会得到提高。源程序代码清单:voidmain()(Node*equip;FILE*fp
4、;intflag;Node*p,*q;printf("tttt 设备管理系统 n");equip=(Node*)malloc(sizeof(Node);equip->next=NULL;p=equip;fp=fopen("设备管理系统","wb+");将文件的内容放入接点中*/q=(Node*)malloc(sizeof(Node);if(fread(q,sizeof(Node),1,fp)/*(q->next=NULL;p->next=q;p=q;/*将该接点挂入链表中*/fclose(fp);/* 关闭文件 */
5、while(1)目录 *mm、).;(printf("*printf("n1添加记录 n");printf("n2修改记录 n");printf("n3显示记录 n");printf("n4统计分类 n");printf( "n5 查询t己录 n" );printf("n0*-EXIT-*n");printf("请输入你要操作的序号:");scanf("%d",&flag);switch(flag)提示:已经退出系统,
6、ByeBye!n");break增加记录*/修改记录*/显示记录信息*/统计记录*/查询记录*/提示:输入错误!n");break;case0:printf("n>>>>>>>>>> case1:Add(equip);break;/* case2:Modify(equip);break;/* case3:Disp(equip);break;/* case4:Tongji(equip);break;/* case5:chaxun(equip);break;/* default:printf("n&
7、gt;>>>>>>>>> StructshebeicharID10;charname15;charkind15;charover15;charyesno10;chart ime10;charprice10;voidAdd(Node*equip)/* 添加记录 */Node*p,*r,*s;charid10;/* 先用于输入ID,也用于判断是否跳出循环*/r=equip;s=equip->next;/* 使s为第一个有用的结点*/while(r->next!=NULL)/*这个循环的作用是使r为最后一个有用的结点*/r=r->
8、;next;/*将指针置于最末尾*/while(1) ( printf(">>>>>>>>>> 提示:输入0则返回主菜单!n"); printf("n 请你输入设备ID号:");彳scanf("%s",id);”if(strcmp(id,"0")=0)break; p=(Node*)malloc(sizeof(Node);/* 申请空间 */ strcpy(p->data.ID,id); printf("n请输入设备名称:");s
9、canf("%s",p->);printf("n请输入设备种类:");scanf("%s”,p->data.kind);printf("n请输入报废日期:");scanf("%s”,&p->data.over);printf("n请输入设备是否报废:");scanf("%s",&p->data.yesno);printf("n请输入设备购买时间:");scanf("%s",&am
10、p;p->data.time);printf("n请输入设备价格:");scanf("%s”,&p->data.price);printf(">>>>>>>>>>提示:已经完成一条记录的添加。n");p->next=NULL;r->next=p;/*这一步是必需的,将p与先前的链表连起来构成一条新链表*/ r=p;/*也是必'需的.将r又重设为新链的最后一个有用结点*/)voidModify(Node*equip)/* 修改*/(Node*p;c
11、harfind20;if(!equip->next)(printf("n>>>>>>>>>> 提示:没有资料可以修改!n");return;)printf("请输入要修改的设备ID号:");scanf("%s",find);" p=equip->next;while(p!=NULL)(if(strcmp(p->data.ID,find)=0)/*如果找到的话返回的是符合要求*/break; p=p->next; ) if(p)/*若找到*/野
12、(,intx;while(1)(printf("完成修改请输入0否则输入任意数再进行修改:”); scanf("%d",&x);if(x=0)break;printf("请输入新设备号(原来是$):"户-"212.1口);scanf("%s",p->data.ID);printf("请输入新设备名称(原来是s):",p->);scanf("%s",p->);printf("请输入新设备设备种类名称(原来是
13、%s):",p->data.kind);scanf("%s",p->data.kind);printf("请输入新设备报废日期名称(原来是%s):",p->data.over);scanf("%s",p->data.over);printf("请输入新设备是否报废(原来是s):",p->data.yesno);scanf("%s",p->data.yesno);printf("请输入新设备购买时间(原来是%s):",p->d
14、ata.kind);scanf("%s",p->data.time);printf("请输入新设备价格(原来是%s):",p->data.price);scanf("%s",p->data.price);printf("n>>>>>>>>>> 提示:该项记录资料已经成功修改!n");elseprintf("n>>>>>>>>>>提示:你要修改的信息不存在!n"
15、);voidDisp(Node*equip)/* 输出记录 */Node*p;p=equip->next;if(!p)printf("n>>>>>>>>>> 提示:没有记录可以显示!n");图书馆管理系统return;)printf("tttt显示结果 n");printf("设备号码设备名称设备种类报废日期是否报废购买时间价格n");while(p) ( printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",
16、p->data.ID,p->data.na me,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);p=p->next;) ) voidTongji(Node*equip)/*统计*/(Node*p;intsel;intflag2=0,ha=0;charfind20;p=equip->next;if(!equip->next)/*若链表为空 */( printf("n>>>>>>>>>&
17、gt; 提示:没有资料可以统计分类!n"); return;)printf(">>>>>> 提示:n=>0退出n=>1按设备号统计n=>2按设备名称统 计n");scanf("%d",&sel);if(sel=1) ( printf("n输入你要统计分类的设备号:");scanf("%s",find);while(p)(if(strcmp(p->data.ID,find)=0)(flag2+;if(flag2=1&&ha!
18、=flag2)printf("设备号码设备名称设备种类报废日期是否报废购买时间价格n");printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->data.ID,p->data.na me,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;elseif(flag2>ha)printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-
19、10sn",p->d ata.ID,p->,p->data.kind,p->data.over,p->data.yesno,p->data.time,p-> data.price);ha=flag2;p=p->next;if(flag2)printf("n*按设备 号 s 统计分 类的有 d条记录:*吊仁力他力田2);elseprintf("n按设备号s统计的结果为0个nn",find);elseif(sel=2)printf("n输入你要统计分类的设备名称:");sc
20、anf("%s",find);while(p)(if(strcmp(p->,find)=0)(flag2+; if(flag2=1&&ha!=flag2)printf("设备号码设备名称设备种类报废日期是否报废购买时间价格n");printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->data.ID,p->data.na me,p->data.kind,p->data.over,p->data.yesno,p->da
21、ta.time,p->data.price);ha=flag2;elseif(flag2>ha)printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->d ata.ID,p->,p->data.kind,p->data.over,p->data.yesno,p->data.time,p-> data.price);ha=flag2;p=p->next;if(flag2)录:printf("n*nn”,find,flag2);按设备名称s统计的有
22、d条记elseprintf("n按设备名称s统计分类白结果为0个nn",find);elseif(sel=0)return;(6)查询模块 voidchaxun(Node*equip)/* 查询*/ ( Node*p;intsel;intflag2=0,ha=0;charfind20;p=equip->next;if(!equip->next)/*若链表为空 */(printf("n>>>>>>>>>> 提示:资料为空!n"); return;printf(">>
23、;>>>>> 提示:n=>0退出n=>1按设备号查询n=>2按设备名 称查询n");scanf("%d”,&sel);if(sel=1) (printf("n输入你要查询的设备号:");scanf("%s",find);while(p) ( if(strcmp(p->data.ID,find)=0) ( flag2+;if(flag2=1&&ha!=flag2)printf("设备号码设备名称设备种类报废日期是否报废购买时间价格n");p
24、rintf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->data.ID,p->data.na me,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;)elseif(flag2>ha)printf(''n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->d ata.ID,p->,p->data.kind,p->data.over,p->data.yesno,p->data.time,p-> data.price);ha=flag2;p=p->next;if(flag2)printf("n*按
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多组学技术在精准医疗中的效果评价体系
- 2025年大学信息技术基础(计算机网络应用)试题及答案
- 多模态影像导航在颅咽管瘤手术中的价值
- 2025年中职起重设备维修(起重维修技术)试题及答案
- 2025年高职新能源汽车技术(新能源汽车应用)试题及答案
- 2026年APP设计(交互设计)试题及答案
- 2025年中职服装制作与生产管理(服装质量管理)试题及答案
- 2025年大学第四学年(法学)刑事诉讼法基础试题及答案
- 2025年中职农产品贮藏与加工(罐头食品加工)试题及答案
- 2025年中职数字媒体艺术设计(数字媒体基础)试题及答案
- 2023年和田地区直遴选考试真题汇编附答案解析
- 《5G无线网络规划部署》课件-17、5G RF优化流程
- 屋顶彩钢瓦施工安装合同
- 设备管理安全风险辨识
- 中央管理企业负责人薪酬制度改革方案
- 3.提高多标高深基坑支护施工验收一次合格率-飞扬QC小组
- 2026年中国前列腺电切镜项目经营分析报告
- 数据中心智能化系统设备部署方案
- 2025年国家开放大学《社会研究方法》期末考试复习试题及答案解析
- 专项突破:平面直角坐标系中面积、规律、新定义、几何综合问题(解析版)
- 2025年铍矿行业分析报告及未来发展趋势预测
评论
0/150
提交评论