1 / 36
文档名称:

数据结构图书管理系统方案.doc

格式:doc   大小:300KB   页数:36页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构图书管理系统方案.doc

上传人:wxnt86 2020/9/29 文件大小:300 KB

下载得到文件列表

数据结构图书管理系统方案.doc

文档介绍

文档介绍:*******************实践教学*******************理工大学计算机与通信学院2007年春季学期算法与数据结构课程设计题目:图书借阅管理专业班级:姓名:学号:指导教师:成绩:_____________________目录摘要 2前言 3基本算法的实现 4采用类c语言定义相关的数据类型 4各模块的伪码算法 5函数的调用关系图 11调试分析 12测试结果 14源程序(带注释) 18总结 29参考文献 30致 31附件Ⅰ部分源程序代码 32摘要图书的借阅涉及到的操作算法都是以链表或顺序表的基本运算作为基础的,此程序包括:图书添加,图书查询,图书资料删除,借书,还书,增加会员,删除会员,查询会员借书信息输出显示的功能。通过链表存储结构实现数据的输入,实现各子程序过程的演示,对异常输入信息报错。关键字:图书借阅的演示;图书添加,图书查询,图书删除,借书,还书,增加会员,删除会员,查询会员借书信息前言很多涉及图书借阅的操作的算法都是以链表操作为基础,通过链表的建立,结点添加、查询与删除的演示,方便在学****中更好的理解链表结点的添加、查询、删除的过程。通过对链表的建立,结点添加、查询与删除的演示,我们在对一些问题进行求解时,会发现有些问题很难找到规律,或者根本无规律可寻。对于这样的问题,可以利用计算机运算速度快的特点,先搜索查找所有可能出现的情况,再根据题目条件从所有可能的情况中,删除那些不符合条件的解。我们在对一些问题进行求解时,会发现有些问题很难找到规律,或者根本无规律可寻。对于这样的问题,可以利用计算机运算速度快的特点,先搜索查找所有可能出现的情况,再根据题目条件从所有可能的情况中,删除那些不符合条件的解。在插入结点的过程中,首先要生成一个数据域为X的结点,然后插入在链表中。根据插入操作的逻辑定义,还需要修改结点的指针域。在删除结点的过程中,首先查找到要删除的结点,然后删除,再修改结点的指针域。基本算法的实现采用类c语言定义相关的数据类型(1)图书结构体的定义如下:typedefstructBookInfo/////图书结构{intb_Code;////图书编号charb_Name[20];/////名称floatb_price;/////价格intb_person;///借阅人intb_Total;/////总数intb_Out;///借出数BookInfo*nextbook;//////下一类图书}BookInfo;(2)会员结构体的定义如下:typedefstructMemberInfo///会员结构{longm_Code;/////会员编号charm_Name[20];////会员名字charm_Sex[20];///会员的性别intm_Age;///会员的年龄intl_Codes[6];/////以借书的编号,最多5MemberInfo*nextmember;////下一会员}MemberInfo;(3)管理系统结构定义如下:typedefstructSystem{///管理系统结构BookInfo*BI;MemberInfo*MI;intBookTotal;////图书类库存量intMemberTota;/////会员数量}System;:voidAddBook(System*S){///添加图书intTempcode;charsel;BookInfo*p=S->BI;BookInfo*t;BookInfo*m;intnum;do{cout<<"输入图书编号:";cin>>Tempcode;if(m=SearchBook(S,Tempcode)){cout<<"这类书以有库存.\n输入图书的入库量:"<<endl;cin>>num;m->b_Total+=num;}else{t=(BookInfo*)malloc(sizeof(BookInfo));t->b_Code=Tempcode;cout<<"输入图书的名称:";cin>>t->b_Name;cout<<"输入图书价格";cin>>t->b_price;cout<<"输入图书的入库量:";cin>>t->b_Total;t->b_Out=0;t->nextbook=p->nextbook;p->nextbook=t;S->BookTotal++;}cout<<"添加完毕!"<<endl;return;}}while(1);}:BookInfo*SearchBook(System*S,intcode){BookInfo*bi=S->BI->nextbook;intbookcode;if(code==-1){cout<<"请输入要查询的图书编号:";cin>>bookcode;}elsebook