图书管理系统 C++程序设计文档格式.docx
- 文档编号:18316107
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:15
- 大小:17.71KB
图书管理系统 C++程序设计文档格式.docx
《图书管理系统 C++程序设计文档格式.docx》由会员分享,可在线阅读,更多相关《图书管理系统 C++程序设计文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
intgettag(){returntag;
}获取删除标记
intgetno(){returnno;
}获取读者编号
voidsetname(charna[])设置姓名
{
strcpy(name,na);
}
voiddelbook(){tag=1;
}设置删除标记1已删0未删
voidaddreader(intn,charna)增加读者
{
tag=0;
no=n;
for(inti=0;
iMaxbor;
i++)
borbook[i]=0;
}
voidborrowbook(intbookid)借书操作
{
if(borbook[i]==0)
{
borbook[i]=bookid;
return;
}
intretbook(intbookid)还书操作
if(borbook[i]==bookid)
return1;
return0;
voiddisp()读出读者信息
coutsetw(5)nosetw(10)name借书编号:
[;
if(borbook[i]!
=0)
coutborbook[i];
cout]endl;
};
读者类库,实现建立读者的个人资料
classRDatabase
private
inttop;
读者记录指针
Readerread[Maxr];
读者记录
public
RDatabase()构造函数,将reader.txt读到read[]中
Readers;
top=-1;
fstreamfile(reader.txt,iosin);
打开一个输入文件
while
(1)
{
file.read((char)&
s,sizeof(s));
if(!
file)break;
top++;
read[top]=s;
file.close();
关闭reader.txt
voidclear()删除所有读者信息
intaddreader(intn,charna)添加读者时先查找是否存在
Readerp=query(n);
if(p==NULL)
top++;
read[top].addreader(n,na);
return1;
Readerquery(intreaderid)按编号查找
for(inti=0;
i=top;
if(read[i].getno()==readerid&
&
read[i].gettag()==0)
return&
read[i];
returnNULL;
voiddisp()输出所有读者信息
for(inti=0;
read[i].disp();
voidreaderdata();
读者库维护
~RDatabase()析构函数,将read[]写到reader.txt文件中
fstreamfile(reader.txt,iosout);
if(read[i].gettag()==0)
file.write((char)&
read[i],sizeof(read[i]));
file.close();
voidRDatabasereaderdata()
{
charchoice;
charrname[20];
intreaderid;
Readerr;
while(choice!
='
0'
)
coutnnttt读者维护nnntt1新增nntt2更改nntt3删除nntt4查找nntt5显示nntt6全删nntt0退出endl;
cinchoice;
switch(choice)
case'
1'
cout输入读者编号;
cinreaderid;
cout输入读者姓名;
cinrname;
addreader(readerid,rname);
break;
2'
r=query(readerid);
if(r==NULL)
{
cout该读者不存在endl;
}
cout输入新的姓名;
r-setname(rname);
3'
cout输入读者编号;
cinreaderid;
r=query(readerid);
if(r==NULL)
{
break;
}
r-delbook();
case'
4'
cout读入读者编号;
r-disp();
5'
disp();
6'
clear();
defaultcout输入错误,请从新输入:
;
break;
}
图书类,实现对图书的描述,图书的编号,书名,借出,还入等
classBook
删除标记1已删0未删
图书编号
charname[20];
书名
intonshelf;
是否再架1再架2已借
Book(){}
chargetname(){returnname;
}获取姓名
intgetno(){returnno;
}获取图书编号
intgettag(){returntag;
}获取删除标记
voidsetname(charna[])设置书名
}删除图书
voidaddbook(intn,charna)增加图书
onshelf=1;
intborrowbook()借书操作
if(onshelf==1)
onshelf=0;
voidretbook()还书操作
voiddisp()输出图书
coutsetw(6)nosetw(18)namesetw(10)
(onshelf==1在架已借)endl;
图书库类,实现对图书的维护,查找,删除等
classBDatabase
图书记录指针
Bookbook[Maxb];
图书记录
BDatabase()构造函数,将book.txt读到book[]中
Bookb;
top=-1;
fstreamfile(book.txt,iosin);
while
(1)
file.read((char)&
b,sizeof(b));
if(!
file)break;
top++;
book[top]=b;
voidclear()全删
intaddbook(intn,charna)增加图书
Bookp=query(n);
if(NULL==p)
book[top].addbook(n,na);
Bookquery(intbookid)查找图书
if(book[i].getno()==bookid&
book[i].gettag()==0)
{
book[i];
voidbookdata();
图书库维护
voiddisp()
if(book[i].gettag()==0)
book[i].disp();
~BDatabase()析构函数,将book[]写到book.txt文件中
fstreamfile(book.txt,iosout);
if(book[i].gettag()==0)
book[i],sizeof(book[i]));
voidBDatabasebookdata()
charbname[40];
intbookid;
Bookb;
coutnnnttt图书维护endlendl;
couttt1新增ntt2更改ntt3删除ntt4查找ntt5显示ntt6全删ntt0退出endl;
cout输入图书编号endl;
cinbookid;
cout输入图书书名endl;
cinbname;
addbook(bookid,bname);
b=query(bookid);
if(b==NULL)
cout该图书不存在endl;
cout输入新的书名endl;
b-setname(bname);
cout读入图书编号endl;
cinbookid;
b=query(bookid);
if(b==NULL)
b-delbook();
cout读入图书编号endl;
b-disp();
defaultcout输入错误,请从新输入;
main()函数的实现,程序的主界面的引导
voidmain()
intbookid,readerid;
RDatabaseReaderDB;
BDatabaseBookDB;
while(choice!
coutendlendlttt图书管理系统nnn;
coutttt1借书nnttt2还书nnttt3图书维护nnttt4读者维护nnttt0离开endl;
cinchoice;
switch(choice)
cout借书读者编号;
cout图书编号:
;
r=ReaderDB.query(readerid);
按编号查找
if(NULL==r)
cout不存在该读者,不能借书endl;
b=BookDB.query(bookid);
cout不存在该图书,不能借书endl;
if(b-borrowbook()==0)
cout该图书已借出,不能借书endl;
r-borrowbook(b-getno());
cout还书n读者编号;
cout图书编号;
cout不存在该读者,不能还书endl;
cout不存在该图书,不能还书endl;
b-retbook();
r-retbook(b-getno());
BookDB.bookdata();
ReaderDB.readerdata();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书管理系统 C+程序设计 图书 管理 系统 C+ 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)