文档介绍:一、题目
名称�图书管理系统。内容�设计一个实用的小型图书管理程序�设计图书的索引卡片。对
图书的在库和借出状态要有所表示。能提供读者信息查询及提供按图书的编号、书名、责任者、
。
出版社等途径的检索
二、问题的分析
设计小型的图书管理系统�需要用链表来存储读者和图书的基本信息�包括姓名、读者编号、
读者借书情况等��完成借书、还书、图书维护、读者维护、离开等功能。
;
程序应提供的基本管理功能有�添加�即增加一本数的记录到系统中需要设计一个图书库类
class BDatebase class Book top addbook
�一个图书类�并在其中定义图书记录指针�增加图书函数�
class RDatebase class Reader
还需要设计一个读者库类�一个读者类�并在其中定义读者记录指针
top add Reader ;
�增加读者函数。存储�即将图书信息保存在一个文件中通过链表来存储读者和图
BDatabase()
书的信息�装入�即将文件中的信息读入程序�在图书库类中定义构造函数�将
book[] RDatabase() read[]
读到中�在读者库类中定义构造函数�将读到中�查询�可根
; Book
据书名、编号查找书的相关信息�若找到显示该书全部信息在图书库中定义查找图书函数
*query(int bookid) Reader *query(int readerid)
�在读书库中定义查找读者函数�修改�可修改一本
; void clear()
书的除书名外其它信息在读者库中定义删除读者信息函数�在图书库中定义删除图
void clear()
书信息函数�状态�提供该书在库、不在库的状态�类中还应定义显示图书和读者信
息的函数�同时还应定义借书和还书操作。
三、算法设计
1 class Reader
��根据要求�我设计了四个类�分别是�读者类�实现建立读者的个人资料�
class RDatabase class Book
读者信息库类�实现对读者信息的描叙�图书类�实现对图书的描
class BDatabase
述�图书的编号�书名�借出�还入等�图书库类�实现对图书的维护�查找�
class Reader class RDatabase class Book class BDatabase
删除等。分别利用类、、、定义
Book book[Maxb] RDatabase ReaderDB; Reader *r; BDatabase BookDB; Book *b;
了各自的对象、
对其函数进行调用实现各种功能。
以下是函数功能表�
函数功能
char *getname()
获取姓名
int gettag()
获取删除标记
int getno()
获取读者编号
void setname(char na[])
设置姓名以及编号
void addreader(int n,char *na)
增加读者
void delbook()
设置删除标记
void borrowbook(int bookid)
借书操作
int retbook(int bookid)
还书操作
void disp()
输出读者信息
BDatabase() book[]
构造函数�将读到中
int addbook(int n,char *na)
增加图书
Book *query(int bookid)
查找图书
void bookdata()
图书库维护
~BDatabase() book[]
析构函数�将写到文件
数据功能表�
数据功能
tag
删除标记
no
图书和读者编号
name
读者姓名
borbook[Maxbor]
所借图书
top
读者记录指针
read[Maxr]
读者记录
onshelf
是否在架
top
图书记录指针
book[Maxb]
图书记录
name[20]
书名
2
��设计菜单来实现功能设计
1 2 3 4 0
、借书、还书、图书维护、读者维护、离开
3
��主函数实现�调用各种函数。
四、上机调试过程
1
、调试过程中遇到的问题及修改�
1
��括号的使用�在循环中最为重要。在函数中用到循环或选择的时候