1、 数据结构课程设计报告数据结构课程设计报告 题目:图书管理题目:图书管理 学 院 计算机学院 专 业 软件工程 年级班别 2010 级 4 班 学 号 学生姓名 指导教师 成 绩 _ 2012 年 6 月 一、 设计任务【Design Tasks】 1.1、图书管理系统中图书管理模块包括图书类型定义:书号、现存量、总存量,出版 时间为整型,定价为浮点型,书名、著者名为字符型,借阅指针、预约指针为读者类型;读 者类型定义:证号为整型、姓名为字符型,另外借阅类型和预约类型组合成其中的共用体类 型。B树(2-3 树)类型定义:关键字个数和关键字数组为整型、另外还有指向双亲的指针、 指向子树的指针、记
2、录单元指针;B树查找结果类型定义: 节点指针、关键字序号和查找 标志变量为整型。 1.2、演示程序以用户和计算机的对话方式进行,在计算机终端上显示 “提示信息”之后, 由用户在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在后面。 该演示系统,没有使用文件,全部数据放在内存存放。四项基本业务都以书号为关键字进行 的,采用了 B树(2-3 树)对书号建立索引,以提高效率。 2、设计思路【Design Ideas】 2.1、设计框图、设计框图 系统管理界面 个 人 信 息 借 阅 信 息 借 书 查 找 修 改 密 码 催 还 信 息 还 书 还 回 首 页 1、按作者查找 2、
3、按书名查找 3、按编号查找 4、按作者和书名查找 新 书 入 库 查 找 图 书 删 除 图 书 查 看 图 书 我 的 图 书 馆 退 出 系 统 2-3 树凹进输出所有图书编号信息 显示所有图书的所有信息 2.2、结构体设计、结构体设计 /*- 四、所需结构体和类-*/ /登陆类 class Login public: Login(); void amend( const string st1,const string st2); bool IsLogin(string string UserName; string UserID; string PassWord; int ErrorNu
4、m; ; /个人信息结构体 typedef struct Information string ID; string Name; string Academy; string Major; string Education; string State; int number;/超期数目 int total;/已借数目 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;
5、 int R_Day; int Book_Number; string Book_Name; string Book_Writer; struct InofBook *next; InofBook; /图书信息类 typedef struct KeyType index; /书号 char B_name120;/书名,可以为中文 char B_writer120;/著者,可以中文 int stack;/现存量 int total;/总库存量 int tag;/标志是否被预约 1 是 0 否 B_Record,*b_Record; /书目记录类型 /图书类 struct book public:
6、 Book(); elemtype Book_Name; elemtype Book_Writer; int Book_Number; int Extant_Num ; /该书现存量 int Gross_Num ;/该书总量 struct book *next; ; typedef struct book *book_Record; typedef struct book Book_Record; typedef struct R_Record KeyType card; /卡号 char R_name120;/姓名 char tel11;/手机号码 char* PassWord; struct Borrow int yuyue;/存放预约的书号,最多一本 st