图书馆管理程序报告 下载本文

程序设计综合课程设计

}

int bau_search(char *bau) //按作者查找书籍

{

for(int i=0;i

if(strcmp(books[i].get_bauthor(),bau)==0)//判断 return i; return -1; }

int rn_search(char *rn) //按借阅人查找书籍

{

for(int i=0;i

if(strcmp(books[i].get_rname(),rn)==0)//判断 return i; return -1; }

void revise(Book book,int i)//带参的修改书籍函数

{books[i].copy(book);} //调用Book结构体copy函数

void deleteBook(int index)//带参的删除书籍资料函数

{

for(int i=index;i

books[i].copy(books[i+1]);//用后面的地址将当前的地址覆盖 length--; }

void show_book()//不带参的显示书籍函数

{

cout<<\书****籍****信****息****列****表

**********************\\n\\n\

cout<<\书号\ cout.width(10); cout<<\书名\

27

程序设计综合课程设计

cout.width(20); cout<<\作者\ cout.width(10); cout<<\状态\ cout.width(10); cout<<\借阅人\\n\

for(int i=0;i

cout<

cout<

cout<

cout<

void show_book(int i)//带参的显示书籍函数

{

cout<<\书****籍****信****息****列****表**********************\\n\\n\

cout<<\书号\ cout.width(10); cout<<\书名\ cout.width(20); cout<<\作者\ cout.width(10); cout<<\状态\

28

程序设计综合课程设计

cout.width(10); cout<<\借阅人\\n\

cout<

cout<

cout<

cout<

void br_book()//读者借、还书功能函数 {

ReaderManage reader;

int choi; //选择

int a; //图书状态指标(1已借2在架)

char sh[10]; //需要还书的书号

char dz[10]; //读者姓名

cin>>sh;

int index=bnu_search(sh); //定义一个变量等于查找到的书号 if(index>=0) {

if(books[index].tag==1) //已借

a=1;

if(books[index].tag==0) //在架 a=2; switch(a)

{ case 1:

29

程序设计综合课程设计

cout<<\该书目前状态为<已借出>\\n\

cout<<\请选择您需要的服务:1:还书 0:返回\\n\ cin>>choi;

cin.ignore(); //清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响

if(choi!=1&&choi!=0)

cin>>dz; cin.ignore();

int index1=reader.search(dz); if(index1==-1)

册!\

{ cout<<\操作有误,请重新选择(0/1)!\\n\

return;

}

else if(choi==1) {

cout<<\请输入您的姓名:\

{

cout<<\对不起,系统无该读者记录,新用户请先注

return;

} else { strcpy(dz,\将读者姓名已空白代替

books[index].set_rname(dz);//借阅人一项变为空白 books[index].set_tag(0);//图书状态变为在架

cout<<\还书成功!\

}

}break;

30