2022年c语言编程实验室设备系统 .pdf

上传人:Che****ry 文档编号:34879066 上传时间:2022-08-19 格式:PDF 页数:7 大小:49.54KB
返回 下载 相关 举报
2022年c语言编程实验室设备系统 .pdf_第1页
第1页 / 共7页
2022年c语言编程实验室设备系统 .pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《2022年c语言编程实验室设备系统 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言编程实验室设备系统 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、综合性程序设计报告设计题目 :某系实验室设备管理系统指导教师 : 班级:81102 学号:8110218 设 计 者:覃剑庆成绩: _ 设计时间 :2012 年 6 月 6 日实验设备信息包括:设备编号,设备种类(如:微机打印机 扫描仪 等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。试设计一实验设备信息管理系统,使之能提供以下功能:(1)能够完成对设备的录入和修改(2)对设备进行分类统计(3)设备的查询#include stdio.h #include stdlib.h #include string.h struct shebei char ID10; char name1

2、5; char kind15; char over15; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - char yesno10; char time10; char price10; ; typedef struct node struct shebei data; struct node *next; /建立一个链表。Node; void Add(Node *equip) /添加记录 Node *p,*r,*s; char

3、 id10; /先用于输入 ID,也用于判断是否跳出循环r=equip; s=equip-next; /使 s 为第一个有用的结点while(r-next!=NULL) /这个循环的作用是使r 为最后一个有用的结点r=r-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 请输入设备名

4、称 :); scanf(%s,p-data.name); 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,&p-data.time); printf(n 请输入设备价格 :); scanf(%s,&p-data.price); printf( 提示:已经完成一条记录的添加。n); p-next=NULL; r

5、-next=p; /这一步是必需的 ,将 p 与先前的链表连起来构成一条新链表r=p; /也是必需的 .将 r 又重设为新链的最后一个有用结点 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - void Modify(Node *equip)/修改 Node *p; char find20; if(!equip-next) printf(n 提示:没有资料可以修改 !n); return; printf( 请输入要修改的设备ID

6、号:); scanf(%s,find); p=equip-next; while(p!=NULL) if(strcmp(p-data.ID,find)=0) /如果找到的话返回的是符合要求break; p=p-next; if(p) /若找到 int x; while(1) printf(完成修改请输入 0 否则输入任意数再进行修改:); scanf(%d,&x); if(x=0) break; printf(请输入新设备号 (原来是 %s ):,p-data.ID); scanf(%s,p-data.ID); printf(请输入新设备名称 (原来是 %s ):,p-data.name);

7、scanf(%s,p-data.name); printf(请输入新设备设备种类名称(原来是 %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-data.kind); scanf(%s,p-data.time); printf(请输

8、入新设备价格 (原来是 %s ):,p-data.price); scanf(%s,p-data.price); printf(n 提示:该项记录资料已经成功修改!n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - else printf(n 提示:你要修改的信息不存在 !n); void Disp(Node *equip)/输出记录 Node *p; p=equip-next; if(!p) printf(n 提示:没有记

9、录可以显示 !n); return; printf(tttt 显示结果 n); printf( 设备号设备名称设备种类报废日期是否报废购买时间价格n); while(p) printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.ID,p-data.name,p-data.kind,p-data.over,p-data.yesno,p-data.time,p-data.price); p=p-next; void Tongji(Node *equip)/统计 Node *p; int sel;int flag2=0,ha=0; p=equip-next

10、; char find20; if(!equip-next) /若链表为空 printf(n 提示:没有资料可以统计分类 !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) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -

11、第 4 页,共 7 页 - - - - - - - - - flag2+; if(flag2=1&ha!=flag2) printf(设备号设备名称设备种类报废日期是否报废购买时间价格n); printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.ID,p-data.name,p-data.kind,p-data.over,p-data.yesno,p-data.time,p-data.price); ha=flag2; else if(flag2ha)printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data

12、.ID,p-data.name,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 条记录:*nn,find,flag2); else printf(n 按设备号 %s 统计的结果为 0 个nn,find); else if(sel=2) printf(n 输入你要统计分类的设备名称:); scanf(%s,find); while(p) if(strcmp(p-data.name,find)=0) flag

13、2+; if(flag2=1&ha!=flag2) printf(设备号设备名称设备种类报废日期是否报废购买时间价格n); printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.ID,p-data.name,p-data.kind,p-data.over,p-data.yesno,p-data.time,p-data.price); ha=flag2; else if(flag2ha)printf(n%-13s%-11s%-7s%-10s%-13s%-10s%-5sn,p-data.ID,名师资料总结 - - -精品资料欢迎下载 - - - - -

14、 - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - p-data.name,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 条记录:*nn,find,flag2); else printf(n 按设备名称 %s 统计分类的结果为0 个nn,find); else if(sel=0) return; vo

15、id main() Node *equip; FILE *fp; int flag; 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); / 关闭文件while(1)

16、 printf(*目录*); printf(n1 添加记录 n); printf(n2 修改记录 n); printf(n3 显示记录 n); printf(n4 统计分类记录 n); printf(n0*-EXIT-*n); printf(请输入你要操作的序号 :); scanf(%d,&flag); switch(flag) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - case 0: printf(n 提示:已经退出系统

17、,ByeBye!n);break; case 1: Add(equip); break; / 增加记录case 2: Modify(equip); break;/ 修改记录case 3: Disp(equip); break;/ 显示记录信息case 4: Tongji(equip); break;/ 统计记录default: printf(n 提示:输入错误 !n); break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁