图书管理系统代码Word文件下载.docx

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

图书管理系统代码Word文件下载.docx

《图书管理系统代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《图书管理系统代码Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。

图书管理系统代码Word文件下载.docx

close();

voidaddbooks()//往图书数据库中加图书

bookbk;

intno;

charbname[20];

cout〈<

”请输入书号:

"

cin〉>

no;

endl<

<

请输入书名:

;

cin>

>

bname;

endl;

bk.b_flag=1;

bk.addbook(no,bname);

top++;

btarray[top]=bk;

return;

intfindbooks(intsuffix)//查找图书,这个函数用于借书这个操作,suffix是数组下标

intno;

cout<

〈”请输入书号:

”;

〉no;

for(inti=0,i〈=top;

if(btarray[i].no==no&

&

btarray[i].b_del==1)

returni;

return-1;

intfindbooks()//查找图书,这个函数用于图书维护

charvalue[6];

〈"

请输入书号:

for(inti=0;

i〈=top;

no==no&

&btarray[i]。

{

if(btarray[i]。

b_flag==1)strcpy(value,”在架"

);

if(btarray[i].b_flag==2)strcpy(value,”借出"

cout<

〈”书号:

”<

btarray[i]。

no<

书的名称:

〈btarray[i]。

name<

图书状态:

〈<

value〈〈endl;

returni;

return-1;

voideditbooks()//编辑图书

intcur;

cur=findbooks();

if(cur==-1)

cout<

没有这本书”<

return;

”书号:

btarray[cur].no〈〈”书的名称:

”〈<

btarray[cur].name<

请修改数据:

〈endl〈〈”书的名称:

〉btarray[cur]。

name;

voiddelbooks()//删除图书

cur=findbooks();

if(cur==—1)

if(btarray[cur]。

b_flag==2)//删除时判断图书是否借出

cout〈<

”该图书已经借出,请在归还后删除。

endl;

btarray[cur].b_del=2;

voidlistbooks()//显示全部图书

charvalue[6];

if(btarray[i].b_flag==1)strcpy(value,"

在架"

);

if(btarray[i]。

b_flag==2)strcpy(value,”借出”);

书号:

〈btarray[i]。

no〈〈"

”〈〈btarry[i].name〈<

”图书状态:

};

classbook

public:

//图书编号

charname[20];

//图书名称

intb_flag;

intb_del;

book(){}

voidsetno(intn)

no=n;

intgetno()

returnno;

//返回图书编号值

voidsetname(charna[])

strcpy(name,na);

//字符串复制

}

char*getname()

returnname;

//返回图书名称

voidborbook()

b_flag=2;

//借书标志

voiddelbook()

b_del=2;

//删除标志

voidaddbook(intno,charna[])//增加图书功

setno(no);

setname(na);

b_flag=1;

b_del=1;

//读者类

classreader

public:

intno;

charname[20];

intr_del;

//1存在,2删除

intr_bor;

//1借过书,2没有借书

bookbrbook;

public:

voidaddreader(intid,charna[])//增加读者

no=id;

strcpy(name,na);

r_del=1;

voidsetbrbook(bookbt)//设置借书标记

brbook=bt;

bookgetbrbook()

returnbrbook;

//返回借书信息

};

//读者数据库类

classrdatabase

readerrdarray[BMAX];

inttop;

public:

rdatabase()

readerrd;

top=-1;

fstreamfile("

reader.txt"

while

(1)

file.read((char*)&rd,sizeof(rd));

if(!

top++;

rdarray[top]=rd;

file.close();

~rdatabase()//析构函数

fstreamfile(”reader。

txt"

ios:

out);

for(inti=0;

if(rdarray[i]。

r_del==1)

file。

write((char*)&rdarray[i],sizeof(rdarray[i]));

}

file。

voidaddreaders()

readerrd;

intno;

charrname[20];

cout〈〈”请输入学号:

cin>

〉no;

cout〈<

请输入姓名:

”;

〉rname;

cout〈〈endl;

rd,addreader(no,rname);

//添加读者

rd。

r_bor=2;

top++;

rdarray[top]=rd;

return;

intfindreaders(intsuffix)//查找读者,这个函数用于借书还书操作。

参数suffix是数组下标

intno;

”请输入学号:

cin〉〉no;

if(rdarray[i]。

no==no&&rdarray[i].r_del==1)

returni;

return—1;

intfindreaders()//查找读者,这个函数用于读者维护操作

charvalue[3];

请输入学号:

cin〉〉no;

for(inti=0;

i<

=top;

{

no==no&&

rdarray[i]。

{

if(rdarray[i]。

r_bor==1)strcpy(value,"

借”);

r_bor==2)strcpy(value,"

无"

cout<

学号:

”〈〈rdarray[i]。

”姓名"

〈rdarray[i].name〈〈"

是否借书:

〈value<

returni;

return-1;

voideditreaders()//编辑读者信息

intcur;

cur=findreaders();

if(cur==-1)

cout〈〈"

没有该学生”〈<

return;

endl〈〈”姓名:

〉rdarray[cur].name;

voiddelreaders()//删除读者,读者如果借书要还书后才能删除

intcur;

if(rdarray[cur].r_del==1)

cout〈<

”该用户借了图书,请在还书后再删除"

return;

rdarray[cur]。

r_del=2;

voidlistreaders()//显示所有读者

charvalue[3];

if(rdarray[i].r_del==1)

if(rdarray[i].r_bor==1)strcpy(value,”借"

if(rdarray[i].r_bor==2)strcpy(value,"

”〈〈rdarray[i].no<

姓名:

rdarray[i]。

name〈<

”是否借书:

”〈〈value<

}

};

voidbookjiemian()//图书维护子菜单

cout〈〈”|--—-—------———-——-|”<

〈endl;

|图书维护|"

〈〈endl;

cout〈〈"

(1)增加|”〈<

(2)更改|”〈<

|(3)删除|"

|(4)查找|"

|(5)显示|"

”|(6)返回上一层|”<

”|—-—---—----—-———--|”<

〈endl;

voidreaderjiemian()//读者维护子菜单

”|----—-—-——-—--————|"

|读者维护|"

(1)增加|"

(2)更改|"

|(3)删除|"

|(4)查找|”<

|(5)显示|"

”|(6)返回上一层|”〈〈endl;

|--—————--—-————-——|”〈〈endl;

}

void//主界面

cout〈〈”*********************"

cout〈〈”*图书管理系统*”〈〈endl;

**"

”*

(1)借书*”〈<

**"

(2)还书*”〈<

cout〈〈”*(3)图书管理*”〈〈endl;

**”<

*(4)用户管理*”<

*(0)退出*”<

cout〈〈”*********************”<

voidborrowtoreturn(charbr)//借书还书函数,参数br用来判断是“借书”还是“还书”。

1为“借书”,2为“还书”

intrdid=0;

intbkid=0;

intrsuffix,bsuffix;

bdatabaset_bd;

rdatabaset_rd;

if(br==’1’)//借书

rsuffix=t_rd。

findreaders(rdid);

bsuffix=t_bd。

findbooks(bkid);

if(rsuffix==-1||bsuffix==-1)

if(t_bd。

btarray[bsuffix]。

b_flag==2)

cout<

图书已经借出,请选择其他图书”<

if(t_rd。

rdarray[rsuffix]。

r_bor==1)

〈”你已经结果图书,请先归还再借其他书"

t_bd.btarray[bsuffix]。

b_flag=2;

t_rd。

rdarray[rsuffix].r_bor=1;

t_rd.rdarray[rsuffix]。

brbook=t_bd。

btarray[bsuffix];

return;

if(br=='

2’)

rsuffix=t_rd.findreaders(rdid);

bsuffix=t_bd.findbooks(bkid);

rdarray[rsuffix].brbook。

no==t_bd.btarray[bsuffix].no)

t_bd.btarray[bsuffix]。

b_flag=1;

t_rd.rdarray[rsuffix].r_bor=2;

t_rd.rdarray[rsuffix]。

brbook=t_bd.btarray[bsuffix];

else

请重新输入,读者借的图书号不正确"

voidbooksmange()

charin;

bdatabasebd;

do

bookjiemian();

cin〉>

in;

switch(in)

case'

1'

bd。

addbooks();

break;

2'

bd.editbooks();

3'

bd.delbooks();

4'

findbooks();

5’:

bd.listbooks();

6’:

default:

cout<

〈”输入错误,请重新输入.”<

while(in!

='

6'

voidreadersmange()

charin;

rdatabasebd;

readerjiemian();

cin〉>

in;

switch(in)

bd.addreaders();

break;

case’2'

editreaders();

case’3'

bd.delreaders();

case’4’:

bd.findreaders();

5'

listreaders();

case’6'

default:

”输入错误,请重新输入"

〈〈endl;

while(in!

=’6'

intmain(intargc,char*argv[])

mainjiemian();

case'

1’:

borrowtoreturn(in);

break;

case’2'

borrowtoreturn(in);

3’:

booksmange();

case’4'

readersmange();

0'

default:

cout〈<

”输入错误,请重新输入”〈〈endl;

while(in!

=0);

return0;

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

当前位置:首页 > 高等教育 > 经济学

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

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