⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 borrow_return_book.cpp

📁 C语言的课程设计。图书管理系统。有一些系统功能不怎么完善
💻 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 + -