数据结构课程设计图书管理

上传人:pu****.1 文档编号:493236074 上传时间:2023-03-11 格式:DOC 页数:88 大小:689KB
返回 下载 相关 举报
数据结构课程设计图书管理_第1页
第1页 / 共88页
数据结构课程设计图书管理_第2页
第2页 / 共88页
数据结构课程设计图书管理_第3页
第3页 / 共88页
数据结构课程设计图书管理_第4页
第4页 / 共88页
数据结构课程设计图书管理_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《数据结构课程设计图书管理》由会员分享,可在线阅读,更多相关《数据结构课程设计图书管理(88页珍藏版)》请在金锄头文库上搜索。

1、数据结构课程设计报告 题目:图书管理 学 院 计算机学院 专 业 软件工程 年级班别 2010级 4 班 学 号 学生姓名 指导教师 成 绩 _2012年6月一、 设计任务【Design Tasks】1.1、图书管理系统中图书管理模块包括图书类型定义:书号、现存量、总存量,出版时间为整型,定价为浮点型,书名、著者名为字符型,借阅指针、预约指针为读者类型;读者类型定义:证号为整型、姓名为字符型,另外借阅类型和预约类型组合成其中的共用体类型。B树(2-3树)类型定义:关键字个数和关键字数组为整型、另外还有指向双亲的指针、指向子树的指针、记录单元指针;B树查找结果类型定义: 节点指针、关键字序号和查

2、找标志变量为整型。1.2、演示程序以用户和计算机的对话方式进行,在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在后面。该演示系统,没有使用文件,全部数据放在内存存放。四项基本业务都以书号为关键字进行的,采用了B树(2-3树)对书号建立索引,以提高效率。2、设计思路【Design Ideas】2.1、设计框图系统管理界面个人信息借阅信息借书查找修改密码催还信息还书还回首页1、按作者查找2、按书名查找3、按编号查找4、按作者和书名查找新书入库查找图书删除图书查看图书我的图书馆退出系统2-3树凹进输出所有图书编号信息显示所有图书的所有信息

3、2.2、结构体设计/*- 四、所需结构体和类-*/登陆类class Loginpublic:Login();void amend( const string st1,const string st2);bool IsLogin(string &str1, string &str2);string UserName;string UserID;string PassWord;int ErrorNum;/个人信息结构体typedef struct Informationstring ID;string Name;string Academy;string Major;string Educatio

4、n;string State;int number;/超期数目inttotal;/已借数目Inof;/借阅信息结构体typedef struct InofBook/string Check_Data;/string Return_Data;int C_Year;int C_Month;int C_Day;int R_Year;int R_Month;int R_Day;int Book_Number;string Book_Name;string Book_Writer;struct InofBook *next;InofBook;/图书信息类typedef structKeyType ind

5、ex; /书号char B_name120;/书名,可以为中文char B_writer120;/著者,可以中文int stack;/现存量int total;/总库存量int tag;/标志是否被预约 1 是 0 否B_Record,*b_Record; /书目记录类型/图书类struct bookpublic:Book();elemtype Book_Name;elemtype Book_Writer;int Book_Number;int Extant_Num ;/该书现存量int Gross_Num ;/该书总量struct book *next;typedef struct book

6、 *book_Record;typedef struct book Book_Record;typedef struct R_RecordKeyType card; /卡号char R_name120;/姓名char tel11;/手机号码char* PassWord;struct Borrowint yuyue;/存放预约的书号,最多一本struct bNode *R_bookN/4;/借阅书指针char* termN/4;/归还期限int b_num;/已经借阅书的数量bor;/借阅记录类型R_Record,*r_Record; /读者记录类型typedef struct bNode Ke

7、yType index; /关键字向量struct B_Node *child; /子树指针向量B_Record rec; /记录指针向量bNode,*Bode;/书目结点向量类型typedef struct rNode KeyType card; /卡号向量 struct R_Node *child; /子树指针向量 R_Record rec; /记录指针向量 rNode,*Rode; /读者结点向量类型typedef struct B_Nodeint BookNum; /结点中书目个数,即结点的大小int level;struct B_Node *pa; /指向双亲结点struct B_N

8、ode *lBro, *rBro;struct bNode nodem+1;/除child外,其它0号单元未用B_Node,*Book; /书树结点和书树的类型typedef struct R_Nodeint ReaderNum; /结点中读者个数,即结点的大小int level;struct R_Node *pa; /指向双亲结点struct R_Node *lBro, *rBro;struct rNode nodem+1; /除child外,0号单元未用R_Node,*Reader; /读者树结点和读者树的类型typedef structB_Node *pb; /指向找到的结点int i;

9、 /1.m,在结点中的关键字序号int tag; / 1:查找成功,O:查找失败B_Result; /书树的查找结果类型typedef structR_Node *pr; /指向找到的结点int i; /1.m,在结点中的关键字序号int tag; / 1:查找成功,O:查找失败R_Result; /读者树的查找结果类型2.3、宏定义和常量#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define EQ(a,b) (a)=(b)#define LT(a,b) (a)(b)#define m 3 /2-3树的阶#define N

10、 20 / 每种书最大库存20本、读者最多每人借 20/4 = 5 本typedef int Status; /函数的类型,其值是函数结果状态代码typedef int KeyType; /设关键字域为整型typedef string elemtype;2.4、设计模块 主程序模块 图 书 管 理 模 块 图书管理模块 我的图书馆管理模块三、部分代码分析【Code Analysis】3.1、图书管理模块选择switch(i)case 1: /添加图书A_Add_Book( head );save_printf(1,ntt书库现状态如下: n);if(BK-BookNum != NULL)Tra

11、verse_BK(BK,BK-level);elsesave_printf(1,n书库为空);fprintf(fp,nn);printf(nn);break;case 2: /查找图书A_Search_Book();break;case 3: /删除图书A_Delete_Book( head );save_printf(1,ntt书库现状态如下: n);if(BK-BookNum != NULL)Traverse_BK(BK,BK-level);elsesave_printf(1,n书库为空);fprintf(fp,nn);printf(nn);break;case 4: /查看全部图书Sea

12、rch_All_Book();break;case 5:/我的图书馆Mylibrary( head );break;case 0: /返回系统登录界面fprintf(fp,nttttAdmin_menu-menu tnn);exit(1);break;default:save_printf(1,nt您的操作有误,请重新选择(07): );break;3.2.1、添加图书/*- A_Add_Book -*/YN是否存在该编号或输入错误?输入编号A_Add_Book入口重新输入读取改编号图书的其他信息插入2-3树,插入单链表将该书添加到图书库中结束void Load( book_Record q );void A_Add_Book( book_Record head )/添加图书char s2;int i;int j;book_Recordq;q = new Book_Record;B_Record r;Init_Brec(r);dobook_Record p=head;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号