图书管理系统课程设计及代码Word文档下载推荐.docx

上传人:b****1 文档编号:5770018 上传时间:2023-05-05 格式:DOCX 页数:27 大小:19.06KB
下载 相关 举报
图书管理系统课程设计及代码Word文档下载推荐.docx_第1页
第1页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第2页
第2页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第3页
第3页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第4页
第4页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第5页
第5页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第6页
第6页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第7页
第7页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第8页
第8页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第9页
第9页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第10页
第10页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第11页
第11页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第12页
第12页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第13页
第13页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第14页
第14页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第15页
第15页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第16页
第16页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第17页
第17页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第18页
第18页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第19页
第19页 / 共27页
图书管理系统课程设计及代码Word文档下载推荐.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图书管理系统课程设计及代码Word文档下载推荐.docx

《图书管理系统课程设计及代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《图书管理系统课程设计及代码Word文档下载推荐.docx(27页珍藏版)》请在冰点文库上搜索。

图书管理系统课程设计及代码Word文档下载推荐.docx

{//获取作者名

returnauthor;

char*getcbsname()

{//获取出版社名

returncbs;

intgetno()

{//获取图书编号

returnno;

}

intgettag()

{//获取删除标记

returntag;

voidsetname(charna[])

{//设置书名

strcpy(name,na);

voidsetonshelf(intoa)

{

onshelf=oa;

voiddelbook()

{//删除图书

tag=1;

voidaddbook(intn,char*na,char*aa,char*ca,intoa)

{//增加图书

tag=0;

no=n;

strcpy(author,aa);

strcpy(cbs,ca);

intborrowbook()

{//借书操作

if(onshelf>

0)

{

onshelf--;

return1;

}

return0;

voidretbook()

{//还书操作

onshelf++;

voiddisp()

{//输出图书

cout<

<

setw(6)<

no<

setw(18)<

name<

setw(10)<

author<

cbs<

onshelf<

endl;

};

classBDatabase

{//图书库类,实现对图书的维护,查找,删除等

inttop;

//图书记录指针

Bookbook[Maxb];

//图书记录

BDatabase()

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

Bookb;

top=-1;

fstreamfile("

book.txt"

ios:

:

in);

while

(1)

file.read((char*)&

b,sizeof(b));

if(!

file)

break;

top++;

book[top]=b;

file.close();

voidclear()

{//全删

intaddbook(intn,char*na,char*aa,char*ca,intoa)

Book*p=query1(n);

if(NULL==p)

book[top].addbook(n,na,aa,ca,oa);

Book*query1(intbookid)

{//按编号查找图书

for(inti=0;

i<

=top;

i++)

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

&

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

return&

book[i];

returnNULL;

Book*query2(chara[])

{//按书名查找图书

Book*e;

intr=0;

i++)

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

if(r==0)

"

编号"

书名"

作者"

出版社"

存量"

e=&

e->

disp();

r++;

找不到该书!

Book*query3(chara[])

{//按作者查找图书

if(strcmp(book[i].getauthorname(),a)==0&

setw(10)<

Book*query4(chara[])

{//按出版社查找图书

for(inti=0;

if(strcmp(book[i].getcbsname(),a)==0&

if(r==0)cout<

}

voidbookdata();

//图书库信息

{

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

book[i].disp();

~BDatabase()

{//析构函数,将book[]写到book.txt文件中

out);

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

file.write((char*)&

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

voidBDatabase:

bookdata()

charchoice3;

charbname[40];

charauname[40];

charcname[40];

charch;

intchoice4;

intbookid;

intbookod;

Book*b;

while(choice3!

='

0'

\n*******图书信息*******"

*1.新增"

4.查找*"

*2.更改"

5.显示*"

*3.删除"

0.返回*"

*************************"

请选择:

;

cin>

>

choice3;

switch(choice3)

case'

1'

请输入新书编号:

bookid;

b=query1(bookid);

if(b!

=NULL)

该编号已经存在,不能添加!

请输入新书书名:

bname;

请输入新书作者名:

auname;

请输入新书出版社:

cname;

请输入新书数量:

bookod;

addbook(bookid,bname,auname,cname,bookod);

添加图书成功!

getch();

2'

请输入图书编号:

if(b==NULL)

该图书不存在!

"

该图书的信息是:

b->

是否修改?

(y/n):

ch;

if(ch=='

y'

{

请输入新的书名:

请输入新的作者:

请输入新的存量:

setname(bname);

setonshelf(bookod);

修改图书成功!

3'

该图书不存在,无法删除!

delbook();

删除成功!

4'

\n******查找图书*******"

*1.按图书编号查找*"

*2.按图书书名查找*"

*3.按图书作者查找*"

*4.按图书出版社查找*"

*0.返回*"

*********************"

请选择:

choice4;

switch(choice4)

case1:

case2:

请输入图书书名:

b=query2(bname);

case3:

请输入图书作者:

b=query3(auname);

case4:

请输入图书出版社:

b=query4(cname);

case0:

5'

disp();

6'

clear();

default:

classReader

{//读者的信息描述

//删除标记1表示已删0表示未删

//读者编号

charname[10];

//读者姓名

intborbook[Maxbor];

//所借图书

Reader()

{;

char*getname()

{//获取姓名

intgettag()

intgetno()

{//获取读者编号

{//设置姓名

voiddelbook()

{//设置删除标记1:

未删

voidaddreader(intn,char*na)

{//增加读者

Maxbor;

borbook[i]=0;

voidborrowbook(intbookid)

if(borbook[i]==0)

borbook[i]=bookid;

return;

intretbook(intbookid)

{//还书操作

if(borbook[i]==bookid)

还书成功!

未借该书,还书失败!

{//读出读者信息

inthave=0;

intbz=0;

setw(5)<

setw(21)<

setw(15);

if(borbook[i]!

=0)

if(bz==0)

have=1;

["

borbook[i]<

]\t\t"

bz++;

else

\r\t\t\t\t\t"

setw(15)<

if(have==0)

\t还未借书"

classRDatabase

{//读者类库,实现建立读者的个人资料

//读者记录指针

Readerread[Maxr];

//读者记录

RDatabase()

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

Readers;

reader.txt"

//打开一个输入文件

s,sizeof(s));

file)

read[top]=s;

//关闭reader.txt文件

{//删除所有读者信息

intaddreader(intn,char*na)

{//添加读者时先查找是否存在

Reader*p=queryid(n);

if(p==NULL)

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

该编号已经存在!

Reader*queryid(intreaderid)

{//按读者编号查找

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

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

read[i];

Reader*queryname(charreadername[10])

{//按读者姓名查找

if(strcmp(read[i].getname(),readername)==0&

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

{//输出所有读者信息

read[i].disp();

voidreaderdata();

//读者库信息

~RDatabase()

{//析构函数,将read[]写到reader.txt文件中

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

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

voidRDatabase:

readerdata()

charchoice1;

charrname[20];

intreaderid;

charreadername[10];

intchoice2;

Reader*r;

while(choice1!

\n*******读者信息******"

choice1;

switch(choice1)

请输入读者编号:

readerid;

请输入读者姓名:

rname;

addreader(readerid,rname);

添加读者成功!

r=queryid(readerid);

if(r==NULL)

该读者不存在!

请输入新的姓名:

r->

setname(rname);

修改读者成功!

<

endl;

\n********************"

*1.按读者编号查找*"

*2.按读者姓名查找*"

*0.返回*"

********************"

choice2;

switch(choice2)

读者编号"

setw(17)<

读者姓名"

setw(20)<

已借书编号"

cou

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2