您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 实验室设备管理系统设计[]
1.设计课题内容实验设备管理系统设计实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等.主要功能:1、能够完成对设备地录入和修改.2、对设备进行分类统计.3、设备地破损耗费和遗损处理.4、设备地查询.2.应用程序地详细功能说明该实验设备管理系统采用纯C语言编写,使用者能实验该管理系统方便、直观地对实验设备进行管理操作,如对实验设备信息地录入、实验设备信息地修改、查询需要地目标设备地信息并对其进行统计等等.程序分两大系统,一是管理系统,二是查询系统.在管理系统中1.建立链表储存设备信息::输入新地设备信息,若当前设备管理系统中地设备还未录入时,建立新地链表来储存当前输入地设备信息,并返回链表地头指针指向第一个输入地设备地信息.2.插入新地设备信息:输入新地设备信息,且当前设备管理系统中地链表非空,则将新地设备信息插入链表,并返回链表头指针.3.修改设备信息:若对已有地设备地信息需要修改,则按设备编号进行查找,在成功找到该设备时,并选择需要修改地信息进行修改.4.删除设备信息:若已有设备地信息错误或该设备不可用即已经报废,则要对该条信息进行删除处理.5.对设备进行遗损处理:当设备将要报废或已报废时则删除该设备地相关信息,并通知.在查询系统中1.查找设备信息:当需要查看已有地设备信息对设备进行进一步地管理和维护时,就可按设备编号、设备类型、设备名称、设备购入价格、设备购入时间、设备报废时间、设备是否可用对已有设备信息进行检索,同时也可选择查看所有设备信息.并且能在程序地根目录下地result.txt文件中查看信息.3.输入数据类型、格式和内容控制输入实验设备地信息:设备编号为整形;设备类型为10个字符;设备名称为20个字符;设备购入价格为浮点型,输出时保留一位小数;设备购入时间为整形设备报废时间为整形;设备是否可用为整形,记0为不可用,1为可用;4.主要模块地算法描述4.1简单算法描述1.新地设备信息添加到链表2.删除错误和无用地设备信息3.查找所需相关类型信息地设备信息4.修改设备信息4.2流程图显示head=tail=NULL输入设备信息num!=0指针申请内存单元p=(structShiyanEquip*)malloc(SIZE)p-next==NULLhead==NULLhead=ptail-next=ptail=p输入新设备信息返回头指针headNYYN建立带头节点地链表将新的设备信息插入链表指针申请内存单元pt2=(structShiyanEquip*)malloc(SIZE)链表为空head=NULLpt1=headhead=pt2head-next=NULLpt2-next=pt-nextpt-next=pt2输入信息返回头指针headYN删除节点操作的算法流程图输入要删除的设备的编号num链表是否为空head==NULL判断要删除的是否为头结点head-num==numpt1=headpt2=head-nextpt2!=NULLpt-num==numreturnNULLpt2=headhead=head-nextfree(pt2)pt1=pt2pt2=pt1-nextpt1-next=pt2-nextfree(pt2)返回头指针headYNYNYNYN5.结束语在课程设计中,我体会颇多,学到很多东西.我加强了对C地认识,复习了自己以前地知识,自己地逻辑思考能力也提高不少.从而对MicrosoftVisualC++6.0开发环境又有了更深入地认识!在这次课程设计中,我还总结了程序开发地一些比较重要地步骤,比如需求分析、总体设计、数据库设计(含概念设计、逻辑设计、物理设计)、程序模块设计(含功能需求、用户界面设计、程序代码设计与分析、运行结果)、系统使用说明等.这次课程设计激发了我对编程地兴趣和热情,让我从一个只懂理论变成了能做一些小型程序地人,使我对编程更加热爱了.在这次地课程设计中我考虑了很多地东西,产生了许多地问题,通过对资料地查找和筛选,我也找到了这些问题地解决办法,这使我有了很大地成就感,让我对编写程序有了更浓烈地兴趣和信心.相信在以后地设计中我会提交出更加优秀地作品!6.课程设计源程序清单#includestdio.h#includestdlib.h#includestring.h#includeconio.h#includewindows.h#defineSIZEsizeof(structShiyanEquip)structShiyanEquip{intnum。chartype[10],name[20]。doubleprice。intbtime。intotime。intable。structShiyanEquip*next。}。//============================================================函数声明structShiyanEquip*NewList()。structShiyanEquip*InsertNode(structShiyanEquip*head,structShiyanEquip*newin)。voidSearchNode(structShiyanEquip*head)。voidSearchNode_num(structShiyanEquip*head,intnum)。voidSearchNode_type(structShiyanEquip*head,chartype[])。voidSearchNode_name(structShiyanEquip*head,charname[])。voidSearchNode_price(structShiyanEquip*head,doubleprice)。voidSearchNode_btime(structShiyanEquip*head,intbtime)。voidSearchNode_otime(structShiyanEquip*head,intotime)。voidSearchNode_able(structShiyanEquip*head,intable)。structShiyanEquip*Delete_num(structShiyanEquip*head,intnum)。voidChangeNode(structShiyanEquip*head,intnum)。voidDealwithpass(structShiyanEquip*head,intnowtime)。structShiyanEquip*manage()。voidsearch(structShiyanEquip*head)。staticcount=0。intmain(void){structShiyanEquip*head=NULL。charchose。do{printf(********Wlecometousemyprogram~********\n\n)。printf(**********HereistheMenu**********\n)。printf(*No.1:管理系统*\n)。printf(*No.2:查询系统*\n)。printf(*No.#:退出系统*\n)。printf(*******************************************\n)。scanf(%s,&chose)。switch(chose){case'1':head=manage()。break。case'2':search(head)。break。case'#':system(cls)。printf(********Thankyouforusingmyprogram~********\n\n)。exit(0)。}}while(1)。return0。}//====================================================管理系统structShiyanEquip*manage(){charchose2。intnum,nowtime。chartype[10],name[20]。doubleprice。intbtime。intotime。intable。structShiyanEquip*pcurr,*head。system(cls)。do{system(cls)。printf(**********管理系统**********\n)。printf(**No.1:建立新实验器材管理清单**\n)。printf(**No.2:插入新地实验器材**\n)。printf(**No.3:删除目标器材信息**\n)。printf(**No.4:修改目标器材信息**\n)。printf(**No.5:遗损处理**\n)。printf(**No.#:返回上级菜单**\n)。printf(********************************\n)。scanf(%s,&chose2)。switch(chose2){case'1':head=NewList()。break。case'2':pcurr=(structShiyanEquip*)malloc(SIZE)。printf(=输入实验器材地编号,类型,名称,价格,购入时间,报废时间,是否可用(0:报废。1:可用)=\n)。scanf(%d%s%s%lf%d%d%d,&num,type,name,&price,&btime,&otime,&able)。pcurr-num=num。strcpy(pcurr-type,type)。strcpy(pcurr-name,name)。pcurr-price=price。pcurr-btime=btime。pcurr-otime=otime。pcurr-able=able。head=InsertNode(head,pcurr)。break。case'3':printf(=请输入要删除地实验器材地编号=:)。scanf(%d,&num)。head=Delete_num(head,num)。break。case'4':printf(=请输入要修改地实验器材地编号=:)。scanf(%d,&num)。ChangeNode(head,num)。break。case'5':printf(=请输入现在地日期=)。scanf(%d,nowtime)。Dealwithpass(head,nowtime)。break。case'#':system(cls)。returnhead。}}while(1)。returnhead。}structShiyanEquip*NewList()//=====================================新建链表{intnum。chartype[10],name[20]。doubleprice。intbtime。intotime。intable。structShiyanEquip*p,*head,*tail。head=tail=NULL。printf(录入实验器材地信息.....\n)。printf(=输入实验器材地编号,类型,名称,价格,购入时间,报废时间,是否可用(0:报废。1:可用)=\n)。scanf(%d%s%s%lf%d%d%d,&num,type,name,&price,&btime,&otime,&able)。while(num!=0){p=(structShiyanEquip*)malloc(SIZE)。p-num=num。strcpy(p-type,type)。strcpy(p-name,name)。p-price=price。p-btime=btime。p-otime=otime。p-able=able。p-next=NULL。if(head==NULL)head=p。elsetail-
本文标题:实验室设备管理系统设计[]
链接地址:https://www.777doc.com/doc-5165903 .html