实验设备管理系统设计C++.doc
《实验设备管理系统设计C++.doc》由会员分享,可在线阅读,更多相关《实验设备管理系统设计C++.doc(29页珍藏版)》请在沃文网上搜索。
1、1. 设计课题内容实验设备管理系统设计实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。主要功能:1、能够完成对设备的录入和修改。2、对设备进行分类统计。3、设备的破损耗费和遗损处理。4、设备的查询。2. 应用程序的详细功能说明 该实验设备管理系统采用纯C语言编写,使用者能实验该管理系统方便、直观地对实验设备进行管理操作,如对实验设备信息的录入、实验设备信息的修改、查询需要的目标设备的信息并对其进行统计等等。 程序分两大系统,一是管理系统,二是查询系统。 在管理系统中 1. 建立链表储存设备信息::输入新的设备信息,若
2、当前设备管理系统中的设备还未录入时,建立新的链表来储存当前输入的设备信息,并返回链表的头指针指向第一个输入的设备的信息。 2. 插入新的设备信息:输入新的设备信息,且当前设备管理系统中的链表非空,则将新的设备信息插入链表,并返回链表头指针。 3. 修改设备信息:若对已有的设备的信息需要修改,则按设备编号进行查找,在成功找到该设备时,并选择需要修改的信息进行修改。 4. 删除设备信息:若已有设备的信息错误或该设备不可用即已经报废,则要对该条信息进行删除处理。5. 对设备进行遗损处理:当设备将要报废或已报废时则删除该设备的相关信息,并通知。 在查询系统中 1. 查找设备信息:当需要查看已有的设备信
3、息对设备进行进一步的管理和维护时,就可按设备编号、设备类型、设备名称、设备购入价格、设备购入时间、设备报废时间、设备是否可用对已有设备信息进行检索,同时也可选择查看所有设备信息。并且能在程序的根目录下的result.txt文件中查看信息。 3. 输入数据类型、格式和内容控制输入实验设备的信息:设备编号为整形;设备类型为10个字符;设备名称为20个字符;设备购入价格为浮点型,输出时保留一位小数;设备购入时间为整形设备报废时间为整形;设备是否可用为整形,记0为不可用,1为可用;4. 主要模块的算法描述4.1 简单算法描述1. 新的设备信息添加到链表2. 删除错误和无用的设备信息3. 查找所需相关类
4、型信息的设备信息4. 修改设备信息建立带头节点的链表head=tail=NULL输入设备信息num!=0指针申请内存单元p=(struct ShiyanEquip *) malloc(SIZE)p-next=NULLhead=NULLhead=ptail-next=ptail=p输入新设备信息返回头指针headNYYN4.2 流程图显示将新的设备信息插入链表指针申请内存单元pt2=(struct ShiyanEquip *) malloc (SIZE)链表为空head=NULLpt1=headhead=pt2head-next=NULLpt2-next=pt-nextpt-next=pt2输入
5、信息返回头指针headYN 删除节点操作的算法流程图输入要删除的设备的编号num链表是否为空head=NULL判断要删除的是否为头结点head-num=numpt1=headpt2=head-nextpt2!=NULLpt-num=numreturn NULLpt2=headhead=head-nextfree(pt2)pt1=pt2pt2=pt1-nextpt1-next=pt2-nextfree(pt2)返回头指针headYNYNYNYN5.结束语在课程设计中,我体会颇多,学到很多东西。我加强了对C的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。从而对Microsoft Vis
6、ual C+ 6.0开发环境又有了更深入的认识!在这次课程设计中,我还总结了程序开发的一些比较重要的步骤,比如需求分析、总体设计、数据库设计(含概念设计、逻辑设计、物理设计)、程序模块设计(含功能需求、用户界面设计、程序代码设计与分析、运行结果)、系统使用说明等。这次课程设计激发了我对编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序的人,使我对编程更加热爱了。在这次的课程设计中我考虑了很多的东西,产生了许多的问题,通过对资料的查找和筛选,我也找到了这些问题的解决办法,这使我有了很大的成就感,让我对编写程序有了更浓烈的兴趣和信心。相信在以后的设计中我会提交出更加优秀的作品!6.课程设计
7、源程序清单#include #include #include #include #include #define SIZE sizeof(struct ShiyanEquip)struct ShiyanEquipint num;char type10,name20;double price;int btime;int otime;int able;struct ShiyanEquip * next;/=函数声明struct ShiyanEquip * NewList();struct ShiyanEquip * InsertNode( struct ShiyanEquip *head, st
8、ruct ShiyanEquip *newin);void SearchNode( struct ShiyanEquip *head);void SearchNode_num( struct ShiyanEquip *head, int num);void SearchNode_type( struct ShiyanEquip *head, char type);void SearchNode_name( struct ShiyanEquip *head, char name);void SearchNode_price( struct ShiyanEquip *head, double pr
9、ice);void SearchNode_btime( struct ShiyanEquip *head, int btime);void SearchNode_otime( struct ShiyanEquip *head, int otime);void SearchNode_able( struct ShiyanEquip *head, int able);struct ShiyanEquip * Delete_num( struct ShiyanEquip *head, int num);void ChangeNode(struct ShiyanEquip *head,int num)
10、;void Dealwithpass( struct ShiyanEquip * head , int nowtime);struct ShiyanEquip * manage();void search(struct ShiyanEquip * head);static count=0;int main(void) struct ShiyanEquip * head=NULL;char chose;doprintf(*Wlecome to use my program *nn);printf(*Here is the Menu *n);printf(*No.1:管理系统 *n);printf
11、(*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(*Thankyou for using my program *nn);exit(0);while (1);return 0;/=管理系统struct ShiyanEquip * manage()char chose2;int num,nowtime;char type10,name
12、20;double price;int btime;int otime;int able;struct ShiyanEquip * pcurr,* head;system(cls);dosystem(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,&cho
13、se2);switch(chose2)case 1:head=NewList();break;case 2:pcurr=(struct ShiyanEquip *)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;pcu
14、rr-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,
15、nowtime);break;case #:system(cls);return head;while ( 1);return head;struct ShiyanEquip * NewList()/=新建链表int num;char type10,name20;double price;int btime;int otime;int able;struct ShiyanEquip * p,* head,* tail;head=tail=NULL;printf(录入实验器材的信息.n); printf(=输入实验器材的编号,类型,名称,价格,购入时间,报废时间,是否可用(0:报废;1:可用)=
16、n);scanf(%d%s%s%lf%d%d%d,&num,type,name,&price,&btime,&otime,&able);while ( num != 0)p=(struct ShiyanEquip *)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;else tail-next = p;tail = p;printf(
17、=输入实验器材的编号,类型,名称,价格,购入时间,报废时间,是否可用(0:报废;1:可用)=n);scanf(%d%s%s%lf%d%d%d,&num,type,name,&price,&btime,&otime,&able);return head;struct ShiyanEquip * InsertNode (struct ShiyanEquip * head,struct ShiyanEquip *newin)/插入节点struct ShiyanEquip * pt1,* pt2;pt1=head;pt2=newin;if (head = NULL)head = pt2;head -n
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 设备管理 系统 设计 C+