1、查 询输 入添 加修 改统 计模块主函数流程图:开始显示一系列功能选择N+输入 n, 判断 m,能否 0 到 5据n 值调用各功能模块函数结束4成立实验设施信息构造体构造体成员包含设施编号 设施种类 设施名称 设施价钱 设施购入日期 能否报废 报废日期。5应用程序功能详尽说明程序运转后进入管理系统,显示目录:增添记录、改正记录、显示记录、分类统计、查问记录( 1) 增添记录 系统提示用户在原有的基础上录入新的设施信息。流程图以下:输入 ID 号,并将指针指向最末端挨次输入设施机构体内容,达成一条增添记录提示一达成一条记录增添( 2)改正记录系统要求用户输入要改正的设施ID 号,这时系统会显示设
2、施的详细信息,用户只要该设施新的信息按要求输入即可对信息进行改正。判断能否有资料能够统计分类没有资料能够统计 跳出输入要统计的分类序号按输入序号调用各功能模块函数(3) 显示记录 无记录退出,有记录者按要求输出。没有记录能够显示,跳出有记录者按要求输出( 4) 统计分类 如有资料能够统计,则按要求分类统计输出。(5) 查问记录 若信息为空,则不可以查问。判断能否有资料为空资料为空 跳出输入要查问的分类序号(6)结束语经过本次 c 语言的程序设计,我不单提升稳固了 c 语言的基础,也初学习了编写一个实用程序的流程,提升了着手操作能力,也提升了对编程的兴趣。我相信经过努力后,我的编程能力必定会获得
3、提升。源程序代码清单:void 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-p-next=q;p=q;/*将该接点挂入链表中 */fclose(fp); /*封闭文件 */while(1)*目录 *
4、n1增添记录 nn2改正记录 nn3显示记录 nn4统计分类 nprintf(“ n5 查问记录 n”);n0*-EXIT-*n请输入你要操作的序号:scanf(%d,&flag);switch(flag)case 0: printf(n提示 : 已经退出系统 ,ByeBye!nbreak;case 1: Add(equip); break;增添记录 */case 2: Modify(equip);改正记录 */case 3: Disp(equip);/* case 4: Tongji(equip);/* case 5:chaxun(equip);/* default:显示记录信息 */统计记
5、录 */查问记录 */ 输入错误 !Struct shebei char ID10; char name15; char kind15; char over15; char yesno10; char time10;char price10;void Add(Node *equip) /*Node *p,*r,*s;char id10;先用于输入 ID,也用于判断能否跳出循环 */r=equip;s=equip-next;使 s 为第一个实用的结点*/while(r-next!=NULL) /*这个循环的作用是使r 为最后一个实用的结点 */r=r-将指针置于最末端 输入 0则返回主菜单 !n
6、请你输入设施ID 号 :%s,id);if(strcmp(id,0)=0) break;p=(Node *)malloc(sizeof(Node);申请空间 */strcpy(p-请输入设施名称 :,p-;请输入设施种类 :请输入报废日期 :请输入设施能否报废请输入设施购置时间请输入设施价钱 : 提示 : 已经达成一条记录的增添。 n p-r-next=p; /* 这一步是必要的 , 将 p 与先前的链表连起来组成一条新链表 */r=p;也是必要的. 将r又重设为新链的最后一个实用结点void Modify(Node *equip)/*Node *p;char find20;if(!next)
7、改正 */ 没有资料能够改正 !return;请输入要改正的设施,find);p=equip-Nwhile(p!=NULL)if(strcmp(p-,find)=0) /*假如找到的话返回的是切合要求*/p=p-if(p) /*若找到 */int x; 达成改正请输入 0 不然输入随意数再进行改正 :x);if(x=0)break; 请输入新设施号 ( 本来是 %s ):请输入新设施名称 ( 本来是 %s ):请输入新设施设施种类名称( 本来是 %s ):请输入新设施报废日期名称请输入新设施能否报废请输入新设施购置时间 请输入新设施价钱 ( 本来是 %s ): 该项记录资料已经成功改正 !el
8、se printf( 你要改正的信息不存在 !void Disp(Node *equip)/* 输出记录 */p) 没有记录能够显示 !tttt 显示结果 n 设施号码 设施名称 设施种类 报废日期 能否报废购置时间价钱 nwhile(p)n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn p=p-void Tongji(Node *equip)/* 统计 */int sel;int flag2=0,ha=0; char find20;next) /*若链表为空 没有资料能够统计分类!n=0 退出 n=1 按设施号统计 n=2 按设施名称统计 n scanf(sel);
9、if(sel=1)n 输入你要统计分类的设施号 :,find)=0)flag2+;if(flag2=1&ha!=flag2) printf( 设施号码 设施名称 设施种类 报废日期 能否报废 购置时间 价钱 n ha=flag2;else if(flag2ha)printf(,p-ha=flag2;if(flag2)n* 按 设 备 号 %s 统 计 分 类 的 有 %d 条 记录:*nn,find,flag2);else printf(n 按设施号 %s统计的结果为 0 个 nnelse if(sel=2)n 输入你要统计分类的设施名称 :n* 按 设 备 名 称 %s 统 计 的 有 %d 条 记*nnn 按设施名称 %s统计分类的结果为 0 个nnelse if(sel=0) return;(6)查问模块void chaxun(Node *equip)/* 查问 */ 资料为空n=0 退出 n=1 按设施号查问 n=2 按设施名称查问 nn 输入你要查问的设施号 :n* 按 设 备 号 %s 查 询 有 %d 条 记*nnn 输入你要查问的设施名称 :n* 设 备 名 称 %s 查 询 有 %d条 记*nnn 按设施名称 %s查问 结果为 0 个 nn
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1