图书馆管理系统C++代码Word文档格式.docx

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

图书馆管理系统C++代码Word文档格式.docx

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

图书馆管理系统C++代码Word文档格式.docx

:

out);

for(inti=0;

i〈=top;

i++)

if(btarray[i].b_del==1)

file。

write((char*)&

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

file.close();

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

{

bookbk;

intno;

charbname[20];

cout〈〈”请输入书号:

"

cin〉〉no;

cout<

〈endl〈<

”请输入书名:

cin>

〉bname;

<

endl;

bk。

b_flag=1;

addbook(no,bname);

top++;

btarray[top]=bk;

return;

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

〈”请输入书号:

>

no;

for(inti=0;

i〈=top;

i++)

{

if(btarray[i]。

no==no&

&btarray[i].b_del==1)

returni;

}

return—1;

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

intno;

charvalue[6];

cout〈〈"

请输入书号:

”;

cin〉>

no;

i〈=top;

if(btarray[i].no==no&&btarray[i].b_del==1)

{

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;

}

voideditbooks()//编辑图书

{

intcur;

cur=findbooks();

if(cur==—1)

{cout〈<

”没有这本书”〈〈endl;

return;

cout〈〈”书号:

”<

〈btarray[cur]。

no〈〈”书的名称:

btarray[cur]。

name〈〈endl;

”请修改数据:

”〈〈endl;

cout〈<

endl〈〈"

书的名称:

cin〉〉btarray[cur]。

name;

return;

voiddelbooks()//删除图书

cur=findbooks();

return;

if(btarray[cur]。

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

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

”<

btarray[cur]。

b_del=2;

return;

voidlistbooks()//显示全部图书

charvalue[6];

i<

=top;

if(btarray[i].b_del==1)

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

在架”);

if(btarray[i]。

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

书号:

”〈〈btarray[i]。

no<

〈”书的名称:

〈btarray[i].name<

”图书状态:

〈〈value〈〈endl;

classbook

{

public:

intno;

//图书编号

charname[20];

//图书名称

intb_flag;

intb_del;

public:

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

charname[20];

intr_del;

//1存在,2删除

intr_bor;

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

bookbrbook;

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

no=id;

r_del=1;

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

brbook=bt;

bookgetbrbook()

returnbrbook;

//返回借书信息

};

//读者数据库类

classrdatabase

readerrdarray[BMAX];

inttop;

rdatabase()

readerrd;

top=—1;

reader。

txt”,ios:

in);

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

rdarray[top]=rd;

}

//关闭文件

~rdatabase()//析构函数

txt”,ios:

i<

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

file.write((char*)&

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

close();

voidaddreaders()//添加读者

readerrd;

charrname[20];

请输入学号:

cout〈〈endl〈<

请输入姓名:

rname;

cout〈〈endl;

rd。

addreader(no,rname);

rd.r_bor=2;

rdarray[top]=rd;

intfindreaders(intsuffix)//查找读者,这个函数用于借书还书操作.参数suffix是数组下标

请输入学号:

〉no;

for(inti=0;

if(rdarray[i]。

no==no&&

rdarray[i].r_del==1)

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

charvalue[3];

if(rdarray[i]。

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

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

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

无”);

cout<

学号:

〈<

rdarray[i].no〈〈”姓名:

rdarray[i].name<

〈"

是否借书:

return-1;

voideditreaders()//编辑读者信息

cur=findreaders();

if(cur==-1)

{cout<

〈”没有该学生”<

〈endl;

}

”请修改数据:

〈endl<

姓名:

”;

rdarray[cur]。

name;

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

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

cout〈<

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

rdarray[cur]。

r_del=2;

voidlistreaders()//显示所有读者

charvalue[3];

=top;

if(rdarray[i]。

r_del==1)

if(rdarray[i]。

r_bor==1)strcpy(value,”借"

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

无"

cout〈〈"

学号:

〈rdarray[i]。

no〈〈”姓名:

〈rdarray[i].name<

是否借书:

〈〈value〈〈endl;

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

cout<

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

endl;

cout〈<

”|图书维护|"

”|

(1)增加|"

〈”|

(2)更改|”〈〈endl;

cout〈〈"

|(3)删除|”<

”|(4)查找|"

|(5)显示|"

〈〈endl;

〈”|(6)返回上一层|"

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

}

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

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

|读者维护|"

”|

(1)增加|”<

”|

(2)更改|”<

|(3)删除|"

|(4)查找|"

”|(5)显示|”〈〈endl;

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

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

voidmainjiemian()//主界面

{

***********************************************”<

”*图书管理系统*"

**”〈〈endl;

*

(1)借书*"

(2)还书*”<

”**"

*(3)图书管理*"

〈〈endl;

**"

*(4)用户管理*"

**"

”*(0)退出*”<

〈”***********************************************”〈〈endl;

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);

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

if(t_rd.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

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

return;

voidbooksmange()

charin;

bdatabasebd;

do{

bookjiemain();

cin〉>

in;

switch(in)

case’1’:

bd.addbooks();

break;

case’2’:

bd。

editbooks();

break;

case’3’:

bd.delbooks();

case’4'

findbooks();

case’5'

listbooks();

case'

6'

default:

cout<

”输入错误,请从新输入。

}while(in!

=’6’);

return;

voidreadersmange()

charin;

rdatabasebd;

do{

readerjiemian();

cin>

〉in;

case’1’:

bd.addreaders();

case’2'

bd.editreaders();

3’:

delreaders();

bd.findreaders();

5'

bd.listreaders();

case’6'

default:

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

}while(in!

='

intmain(intargc,char*argv[])

{charin;

mainjiemian();

in;

1’:

borrowtoreturn(in);

case’2’:

borrowtoreturn(in);

booksmange();

4'

readersmange();

0’:

输入错误,请从新输入。

}while(in!

0'

return0;

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

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

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

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