C语言-实验室设备管理系统_第1页
C语言-实验室设备管理系统_第2页
C语言-实验室设备管理系统_第3页
C语言-实验室设备管理系统_第4页
C语言-实验室设备管理系统_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

c语言程序设计报告1课程设计主题:实验室设备管理中的系统实验设备信息包括设备编号、设备种类(例如微机打印机扫描仪等)、设备名、设备价格、设备购买日、有无废弃、作废日等。 设计了实验设备信息管理系统,可提供以下功能:(1)可以输入和修改设备(2)对机器进行分类统计(3)设备的查询2需求分析实验室设备信息保存为文件,提供文件输入输出操作,完成设备输入和变更,需要提供设备添加和变更操作,实现机器分类统计,需要提供排序操作,需要提供检索操作,设备查询, 根据设备编号、设备的种类不同,设备购买日期可以用正常的设备(未废弃的设备)等各种各样的方法进行查询,另外,根据键盘式选择菜单,实现功能选择。3整体设计和模块的区分系统整体可以设计实验设备信息输入模块实验设备信息追加模块实验设备信息修正模块实验设备分类统计模块和实验设备查询模块。实验设备信息输入模块实验设备信息追加模块实验设备信息修正模块实验设备分内统计模块实验设备查询模块功能选择实验设备管理系统设计开始。主函数流程图:显示一系列的功能选择输入n,判断m,判断是否从0到5n从n值调用各功能模块函数结束。4实验设备信息结构体的构筑结构成员包括设备编号、设备种类、设备名称、设备价格、设备购买日期是否被废弃的废弃日期。5应用程序功能的详细情况程序运行后,将进入管理系统,显示添加记录、修改记录、查看记录、统计分类、查询记录等目录(1)追加记录系统,指示用户在现有基础上输入新设备信息。 流程图如下所示。开始。输入您的身份证号码,并将指针指向最后依次输入设备机构体的内容,完成追加记录系统将提示您完成添加记录结束。(2)变更记录系统当向用户请求输入变更的设备ID号码时,显示设备的具体信息,用户仅需要按照请求输入该设备的新信息就能够变更信息。 流程图如下所示。开始。判断是否有可以统计分类的资料没有统计上跳出来的数据输入要统计的分类序号用输入的号码调用各功能模块函数结束。(3)表示记录无记录地结束,记录者按要求输出。 流程图如下所示。开始。没有记录就能显示,跳出去。记录者按要求输出结束。(4)如果有可以统计分类统计的资料,根据要求对输出进行分类。 流程图如下所示。开始。判断是否有可以统计分类的资料没有统计上跳出来的数据输入要统计的分类序号用输入的号码调用各功能模块函数结束。(5)查询记录信息为空时不能查询。 流程图如下所示。开始。判断有没有资料资料空了输入要查询的分类序号用输入的号码调用各功能模块函数结束。(6)结束语通过这次c语言的编程,我不仅加强了c语言的基础,还首次学习了制作实用程序的过程,提高了手的操作能力,也提高了对编程的兴趣。 我相信经过努力,我的编程能力一定会提高的。源代码列表:void main ()举止Node *equip;FILE *fp;int标志;节点* p、*q;打印(ttt设备管理系统 n );equip=(节点* ) malloc (尺寸(节点) );equip-next=NULL;p=equip;fp=fopen (设备管理系统, wb );q=(节点* ) malloc (大小(节点) );将if(fread(q,sizeof(Node ),1,fp) /*文件的内容放入接点* /举止q-next=NULL;p-next=q;p=q; /*把这个接点挂在链表上*/以下fclose(fp) /*关闭文件*/while(1)举止printf,一种打印机,一种打印机。printf(n1添加记录n );修改printf(n2记录 n );打印(n3显示记录 n );printf(n4统计分类 n );printf(“n5查询记录n );打印(n0 *-exit-*n );请输入printf (操作编号: )扫描( % d ,标志);交换机(标志)举止case 0:打印机(n已退出指示:系统,按钮! n ); break;case 1:添加(快速)中断; /*添加记录*/case 2:修改(equip )中断; /*变更履历*/case :显示(快速)中断; /*显示日志信息*/case 4:同步(equip )中断; /*统计记录*/case 5:传真(equip )中断; /*查询日志*/default: printf(n提示符:输入错误! n ); break;以下以下以下Struct shebei char ID10; char name15; char kind15; char over15; char yesno10; char time10;char price10;以下void添加(节点* equip )/*添加记录*/举止节点* p、*r、*s;char id10;/*用于输入id,也用于判断是否脱离循环*/r=equip;s=equip-next; 使/*s成为第一个有用的节点*/PS (r-next!=NULL) /*此循环的作用是使r成为最后一个有用的节点*/r=r-next; /*将指针放在末尾*/while(1)举止在printf (提示符:中输入0返回到主菜单! n );printf(n设备ID号: );扫描(“% s”,标识)PS (PS,0 )=0)中断;p=(节点* ) malloc (尺寸(节点) ); /*申请空间*/strcpy(p-data.ID,id )printf(n设备名称: );扫描( % s , );printf(n设备类别: );扫描( % s ,p-data.kind );printf(n处分日期: );扫描( % s ,p-data.over );printf(n是否废弃设备: );扫描( % s ,p-data.yesno );printf(n设备购买时间: );扫描( % s ,p-data.time );printf(n设备价格: );扫描( % s ,p-data.price );printf(:表示记录的添加完成。 n );p-next=NULL;r-next=p; /*需要此步骤,将p和以前的链表结合起来构成新的链表*/r=p; /*也需要。 将r重置为新链的最后一个有用节点*/以下以下void修改(节点* equip )/*变更*/举止节点* p;char find20;PS (! equip-next )举止nprintf(n提示:没有可以更改的资料 n );返回;以下printf (要修改的设备ID号: );扫描( % s ,find );p=equip-next;PS!=NULL )举止if(strcmp(p-data.ID,find)=0) /*如果找到,则为*/break;p=p-next;以下if(p) /*找到时*/举止PS x;while(1)举止printf (更改完成。 如果不输入0,则输入任意数量的更改:;扫描( % d ,x );if(x=0)break; 以下printf (请输入新设备编号(原来是%s): ,p-data.ID )扫描( % s ,p-data.ID );printf (请输入新设备名称(原来是%s): , )扫描( % s , );printf (请输入新设备的设备类型别名(原来是%s): ,p-data.kind )扫描( % s ,p-data.kind );printf (请输入新设备的废弃日期(%s): ,p-data.over;扫描( % s ,p-data.over );printf (是否废弃新设备(原来是%s): ,请输入p-data.yesno )扫描( % s ,p-data.yesno );printf (请输入新设备的购买时间(原来是%s ): ,p-data.kind );扫描( % s ,p-data.time );printf (请输入新设备的价格(原来是%s): ,p-data.price )扫描( % s ,p-data.price );通知: printf (n记录数据已成功更改 n );以下以下else printf(n提示:不存在要更改的信息 n );以下void disp (节点* equip )/*输出记录*/举止节点* p;p=equip-next;PS (! p )举止printf(n提示:中没有可显示的记录 n );返回;以下打印(ttt显示结果 n );printf (设备编号设备名称设备类别废弃日废弃购买时间价格吗? n );while(p )举止打印(n %-10 % n ,p -数据. id,p -数据. name,p -数据. kind,p -数据. over,p -数据. yesno,p -数据. time,p -数据. price );p=p-next;以下以下void Tongji (节点* equip )/*统计*/举止节点* p;int sel; int flag2=0、ha=0; char find20;p=equip-next;PK (! equip-next) /*链表为空时*/举止printf(n提示:没有可以进行统计分类的资料 n );返回;以下printf (提示:n=0结束n=1按设备编号合计n=2按设备名称合计n );扫描( % d ,sel );if(sel=1)举止printf(n要进行统计分类的设备编号: );扫描( % s ,find );while(p )举止PS (PS (p-data.id,find)=0)举止标志2;以下PS (标志2=1ha!=标志2 ) printf (设备编号设备名称设备类别废弃日期是否废弃购买时间价格n );打印(n %-10 % n ,p -数据. id,p -数据. name,p -数据. kind,p -数据. over,p -数据. yesno,p -数据. time,p -数据.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论