📄 borrow_return_book.cpp
字号:
#include"stdio.h"
#include"iostream.h"
#include"string.h"
#include"book_struct.h"
#include"acridine.h"
int search_book_number(bomas B,double book_number,bomas &p1);
void search_book_name(bomas B,char bookname[]);
int judge_number(int &i,char string[]);//i为字符串的长度,通过i,可以对字符串的长度进行限制
void judge(char ch,double &n);//判断数据是否为正整数
void borrow(bomas &B,acridine *&p1)//本函数实现会员的借书,B是图书链表的头结点指针,p1是记录借书会员信息的那个结点的指针
{
char name[30];
bomas p=NULL;
char ch;
double number;
cout<<" 请输入要借阅书本的书号"<<endl;
judge(ch,number);
if(number==0)
{
cout<<" 没有该编号的图书!"<<endl;
return;
}
cout<<" 将要借阅的图书信息如下:"<<endl<<endl;
search_book_number(B,number,p);
if((p!=NULL)&&strcmp(p->remark,"yes")==0)//检查待借阅图书是否已被借阅
{
cout<<" 该图书已被借阅,不能再借!"<<endl;
}
else if(p1->borrow_num>=10)//检查会员是否已达借书的上限
{
cout<<" 你已经达到借书数量的上限(10本),不能再借了!"<<endl;
return ;
}
else if(!p)
{
cout<<endl;
cout<<" 不能借阅此书!"<<endl;
}
else//借书操作
{
loop: cout<<" 确定要借阅此书吗?"<<endl;
cout<<" 1.是,我要借阅此书"<<endl;
cout<<" 0.退出"<<endl;
char n[2];
int i;
n[0]=-1;
printf(" ");
judge_number(i,n);
switch(n[0])
{
case'1':
strcpy(p->remark,"yes");
p->UserID=p1->UserID;
p1->borrow_num++;
cout<<" 图书借阅成功!"<<endl;
break;
case'0':
break;
default:
cout<<" 输入不正确!"<<endl;
goto loop;
}
}
}
void return_book(bomas B,acridine *p1)//本函数实行还书功能,B是图书链表的头结点指针,p1是记录借书会员信息的那个结点的指针
{
bomas p=NULL;
double number;
char ch;
char n[2];
int i;
n[0]=-1;
cout<<" 请输入要还的图书的书号"<<endl;
judge(ch,number);
search_book_number(B,number,p);
if(p==NULL)
return;
if(strcmp(p->remark,"no")==0)//判断选择要还的图书的书号是否正确
{
cout<<" 该图书没被借阅过!"<<endl;
return;
}
loop: cout<<" 确定要还此书吗?"<<endl;
cout<<" 1.是,我要还此书"<<endl;
cout<<" 0.退出"<<endl;
judge_number(i,n);
switch(n[0])
{
case'1':
p->UserID=0;
strcpy(p->remark,"no");
p1->borrow_num--;
cout<<" 还书成功!"<<endl;
break;
case'0':
break;
default:
cout<<" 输入不正确!"<<endl;
goto loop;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -