图书馆管理系统Word文档格式.docx

上传人:b****5 文档编号:21371320 上传时间:2023-01-30 格式:DOCX 页数:24 大小:68.28KB
下载 相关 举报
图书馆管理系统Word文档格式.docx_第1页
第1页 / 共24页
图书馆管理系统Word文档格式.docx_第2页
第2页 / 共24页
图书馆管理系统Word文档格式.docx_第3页
第3页 / 共24页
图书馆管理系统Word文档格式.docx_第4页
第4页 / 共24页
图书馆管理系统Word文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

图书馆管理系统Word文档格式.docx

《图书馆管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

图书馆管理系统Word文档格式.docx

-name[20]:

+Book()

+getid():

+gettag():

+borrowbook():

+*getname():

char

+setname(char*na)():

void

+delbook():

+addbook():

+returnbook():

+show():

Book类图

(2)B_Data类的设计

B_Data类如下图所示

B_Data

-top:

-maxid:

-book[MAXBOOKS]

+B_Data()

+~B_Data()

+bookdata():

+*search()

B_Data类图

(3)Reader类的设计

Reader类图如下图所示

Reader

+Reader()

+borbook[MAXBORROWED]():

+setname():

+addreader():

Reader类图

(4)R_Data类的设计

R_Data类图如下图所示

R_Data

-read[MAXREADERS]

+R_Data()

+~R_Data()

+usershow():

+readerdata():

R_Data类图

2、主程序设计

四个类Book类、B_Data类、Reader类及R_Data类完成了一个完整的图书管理系统的基本功能。

在主函数main()中,生成主界面分别指向用户登录和管理员登录。

用户登录处,可以进行新用户注册和老用户登录的界面。

新用户可以进行借书,还书,查询借阅情况等信息;

管理员输入密码正确后进入系统,分别进行图书管理和用户管理等。

分别具有添加、删除、查找等基本功能。

4、案例实现

//Param.h参数定义头文件

#ifndefPARAM_H_

#definePARAM_H_

#include<

iostream>

iomanip>

string>

fstream>

stdlib.h>

constintMAXREADER=40000;

//系统可容纳的读者

constintMAXBOOKS=1000000;

//系统中可容纳的图书

constintMAXBORROWED=5;

//每个读者最多借十本书

usingnamespacestd;

#endif

//database.h系统类定义头文件

#ifndefDATABASE_H_

#defineDATABASE_H_

#include"

Param.h"

classReader//读者类

{

public:

Reader();

//构造函数,初始化读者信息

intgettag();

//获取删除标记

intgetid();

//获取读者编号

intreturnbook(intbookid);

//还书操作

intborbook[MAXBORROWED];

//记录所借图书

char*getname();

//获取姓名

voidsetname(charna[]);

//设置姓名

voiddelbook();

//设置删除标记

voidaddreader(intn,char*na);

//增加读者

voidborrowbook(intbookid);

//读出读者信息

voidshow();

private:

inttag;

//删除标记1:

已删0:

未删

intid;

//读者编号

charname[20];

//读者姓名

};

classR_Data//读者库

R_Data();

//构造函数,将reader.txt读到read[]中

~R_Data();

//析构函数,将read[]写到reader.txt

intaddreader(char*na);

//添加读者

//输出所有读者信息

voidusershow(intreaderid);

//输出读者信息

voidreaderdata();

//读者管理

Reader*search(intreaderid);

//按编号查找

intmaxid;

//当前最大读者编号

inttop;

//读者记录指针

Readerread[MAXREADER];

//读者记录

classBook//图书类

Book();

//构造函数,初始化图书信息

//获取图书编号

intborrowbook();

//借书操作

//获取书名

//设置书名

//删除图书

voidaddbook(intn,char*na);

//增加图书

voidreturnbook();

//读出所有图书信息

//图书编号

intonshelf;

//是否在架1:

在架2:

已删

//图书名称

classB_Data//图书库

B_Data();

//构造函数,将book.txt读到book[]中

~B_Data();

//析构函数,将book[]写到book.txt

intaddbook(char*na);

//读出所有的图书

voidbookdata();

//图书管理

Book*search(intbookid);

//查找图书

//当前图书最大编号

//图书记录指针

Bookbook[MAXBOOKS];

//图书记录

//database.cpp类操作定义文件

database.h"

Reader:

:

Reader()//构造函数,初始化读者信息

id=0;

tag=0;

for(inti=0;

i<

MAXBORROWED;

i++)

borbook[i]=0;

}

char*Reader:

getname()//获取姓名

returnname;

intReader:

gettag(){returntag;

}//获取删除标记

getid(){returnid;

}//获取读者编号

voidReader:

setname(charna[]){strcpy(name,na);

}//设置姓名

delbook()//设置删除标记

{

if(borbook[i]!

=0)

{

cout<

<

"

读者"

name<

删除失败,请先归还所借图书"

endl;

return;

}

}

tag=1;

cout<

读者删除成功"

addreader(intn,char*na)//增加读者

id=n;

strcpy(name,na);

读者添加成功,读者编号为"

id<

请牢记该编号,这是你在本系统中的登录号码"

borrowbook(intbookid)//借书操作

if(borbook[i]=0)

endl<

读者借阅成功"

}

returnbook(intbookid)//还书操作

if(borbook[i]=bookid)

borbook[i]=0;

读者还书成功"

return1;

return0;

show()//读出读者信息

setw(5)<

setw(10)<

setw(24)<

读者借阅编号为:

;

["

borbook[i]<

]"

R_Data:

R_Data()

Readers;

top=0;

fstreamfile("

reader.txt"

ios:

in);

while

(1)

file.read((char*)&

s,sizeof(s));

if(!

file)break;

top++;

read[top]=s;

maxid=read[top].getid();

file.close();

intR_Data:

addreader(char*na)

top++;

maxid++;

read[top].addreader(maxid,na);

return1;

Reader*R_Data:

search(intreaderid)

for(inti=1;

=top;

if(read[i].getid()==readerid&

&

read[i].gettag()==0)

return&

(read[i]);

returnNULL;

voidR_Data:

show()

if(top==0)

cout<

没有读者记录"

return;

read[i].show();

usershow(intreaderid)

read[readerid].show();

readerdata()

charchoice=1;

charrname[20];

intreaderid;

Reader*r;

while(choice!

='

0'

读者管理"

1、增加读者信息"

2、修改读者信息"

3、删除读者信息"

4、查找读者信息"

5、显示所有读者"

0:

退出读者管理"

请选择你要进行的操作:

cin>

>

choice;

switch(choice)

case'

1'

输入读者姓名:

cin>

rname;

addreader(rname);

break;

2'

输入读者编号:

readerid;

r=search(readerid);

if(r==NULL)

{

cout<

不存在编号为"

readerid<

的读者"

break;

}

输入新的读者名:

r->

setname(rname);

3'

if(r=NULL)

不存在的编号为"

delbook();

4'

读入读者的编号:

该读者不存在"

show();

5'

show();

default:

输入错误,请重新输入"

~R_Data()

out);

for(inti=1;

if(read[i].gettag()==0)

file.write((char*)&

(read[i]),sizeof(read[i]));

file.close();

Book:

Book()

onshelf=1;

char*Book:

getname()

intBook:

gettag()

returntag;

voidBook:

delbook()

addbook(intn,char*na)

图书添加成功,图书编号为"

请牢记该编号,这是该图书在本系统中的使用号码"

borrowbook()

if(onshelf=1)

onshelf=0;

returnbook()

setw(20)<

(onshelf==1?

可借"

借出"

)<

B_Data:

B_Data()

Bookb;

book.txt"

b,sizeof(b));

book[top]=b;

maxid=book[top].getid();

intB_Data:

addbook(char*na)

book[top].addbook(maxid,na);

Book*B_Data:

search(intbookid)

if(book[i].getid()==bookid&

book[i].gettag()==0)

(book[i]);

voidB_Data:

没有图书记录"

if(book[i].gettag()==0)

book[i].show();

bookdata()

charchoice='

charbname[40];

intbookid;

Book*b;

图书管理"

1、增加图书信息"

2、修改图书信息"

3、删除图书信息"

4、查找图书信息"

5、显示所有图书"

退出图书管理"

输入图书书名:

bname;

addbook(bname);

输入图书编号:

bookid;

b=search(bookid);

if(b==NULL)

b->

getid()<

的图书"

输入新的书名:

b->

setname(bname);

if(b=NULL)

读入图书的编号:

该图书不存在"

de

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1