图书管理系统课程设计报告(2)

2019-02-15 18:30

A.图书库类

定义一个BDatabase(图书库)类,实现对图书的维护,查找,删除等功能。

Class BDatabase

定义一个构造函数BDatabase(),将写入到book.txt的数据读到book[]中。

BDatabase() { Book b; top=-1;

fstream file(\ while (1) {

file.read((char *)&b,sizeof(b)); if (!file) break; top++; book[top]=b; }

file.close(); }

定义一个void类型的clear()函数,用于删除全部图书数据。

Void clear() { char i;

cout<<\确定全部删除吗?Y/N?\cin>>i;

if(i=='y'||i=='Y') top=-1; }

定义一个int addbook(int n,char *na,char *aa,char *fe,char *ca,int time,double price,int oa)函数,来增加图书。

{

Book *p=query1(n); if (NULL==p) {

top++;

book[top].addbook(n,na,aa,fe,ca,time,price,oa); return 1; } return 0; }

定义二个指针函数,用于查找图书: a.按编号查找:

Book *query1(int bookid)//按编号查找图书 {

for (int i=0;i<=top;i++)

if (book[i].getno()==bookid &&book[i].gettag()==0) {

return &book[i]; }

return NULL; }

b.按书名查找:

Book *query2(char a[])//按书名查找图书 {

Book *e; int r=0;

for(int i=0;i<=top;i++)

if(strcmp(book[i].getname(),a)==0 &&book[i].gettag()==0) { if(r==0)

cout<

e=&book[i]; e->disp(); r++; } if(r==0)

cout<<\找不到该书!\ return NULL; }

定义一个析构函数~BDatabase(),将book[]写到book.txt文件中。

{

fstream file(\ for (int i=0;i<=top;i++) if (book[i].gettag()==0)

file.write((char *)&book[i],sizeof(book[i])); file.close(); }

定义一个函数bookdata(),用于图书数据的处理,先定义一些数据成员。

char choice3; char bname[40];//书名 char auname[40];//作者名 char bfenlei[40];//分类号 char cname[40];//出版社 int time;//出版时间 double price;//价格 char ch; int choice4; int bookid; int bookod; Book *b; B.读者库类

定义一个读者库类Rdatabase,实现建立读者的个人资料。

Class Rdatabase{

定义一个构造函数RDatabase(),将reader.txt中数据读到read[]中。

{ Reader s; top=-1;

fstream file(\打开一个输入文件 while (1) {

file.read((char *)&s,sizeof(s)); if (!file)break; top++; read[top]=s; }

file.close(); //关闭reader.txt }

定义一个void型的clear()函数,删除所有读者信息。

{

char i;

cout<<\确定全部删除吗?Y/N?\ cin>>i;

if(i=='y'||i=='Y') top=-1; }

利用析构函数~RDatabase(),将read[]写到reader.txt文件中。

{

fstream file(\ for (int i=0;i<=top;i++) if (read[i].gettag()==0)

file.write((char *)&read[i],sizeof(read[i])); file.close(); }

读者信息的选择操作:

cout <<\读者维护\\n\\n\\n\\t\\t 1 新增\\n\\n\\t\\t 2 更改\\n\\n\\t\\t 3 删除\\n\\n\\t\\t 4 查找\\n\\n\\t\\t 5 显示\\n\\n\\t\\t 6 全删\\n\\n\\t\\t 0 返回\

cout<<\请选择:\C.图书类

定义一个book类,实现对图书的描述,图书的编号,书名,借出,还入等功能。

Class book{ 私有成员有:

int tag;//删除标记1:已删0:未删 int no;//图书编号 char name[20];//书名

char author[20];//作者 char fenlei[20];//分类号 char cbs[20];//出版社 int cbtime;//出版时间 double bookprice;//图书价格 int onshelf;//是否在架1:在架2:已借

定义了一系列的公有成员函数来实现一系列的功能。

char *getname() { return name; }//获取书名

char *getauthorname() { return author; } //获取作者名 char *getfenlei() { return fenlei; } //获取分类号 char *getcbsname() { return cbs; }//获取出版社名 int getcbtime() { return cbtime; }//获取出版时间

double getbookprice() { return bookprice; }//获取图书价格 int getno(){ return no; }//获取图书编号 int gettag(){ return tag; }//获取删除标记 D.读者类

定义一个读者类Reader,实现读者的信息描述。

Class Reader{ 私有成员有:

int tag; //删除标记1:已删0:未删 int no; //读者编号 char name[20]; //读者姓名 int borbook[Maxbor];//所借图书 还设置了一些成员函数,来获取一些数据。

char *getname() {return name;} //获取姓名 int gettag() {return tag;} //获取删除标记 int getno() {return no;} //获取读者编号 E. maindesk类

定义一个maindesk类,实现程序的主界面。

Class maindesk{ 私有数据成员有:

char choice5; char choice2; double xh,mm;


图书管理系统课程设计报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:脚手架实训指导书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: