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

📄 library.cpp

📁 一个dos版的图书管理系统。
💻 CPP
📖 第 1 页 / 共 3 页
字号:
			else if (reader[searchReader(num)].getBorrowedNum()>=maxnum)
				cout<<"对不起,你已经借了"<<maxnum<<"本书了!"<<endl;
			else if (book[searchBook(bookNum)].lendBook(num))
			{
				reader[searchReader(num)].borrowNumUp();
				cout<<"借书操作成功!"<<endl;
			}
			else cout<<"对不起,该书目前不在馆中!"<<endl;
			break;
		case 2:
			cout<<"请输入要还的图书编号: "; cin>>bookNum;
			if (searchBook(bookNum)==-1)
				cout<<"对不起,该图书号不存在!"<<endl;
			else if (book[searchBook(bookNum)].returnBook(num))
			{
				reader[searchReader(num)].borrowNumDown();
				cout<<"还书操作成功!"<<endl;
			}
			else cout<<"对不起,你没有借过这本书!"<<endl;
			break;
		case 3:
			if (reader[searchReader(num)].getLimit()==1)
				cout<<"对不起,学生没有预定的权利!"<<endl;
			else
			{
				cout<<"请输入要预定的图书编号: "; cin>>bookNum;
				if (searchBook(bookNum)==-1)
					cout<<"对不起,该图书号不存在!"<<endl;
				else if (reader[searchReader(num)].getBorrowedNum()>=maxnum)
					cout<<"对不起,你已经借了"<<maxnum<<"本书了!"<<endl;
				else if (book[searchBook(bookNum)].bookBook(num))
				{
					reader[searchReader(num)].borrowNumUp();
					cout<<"预定操作成功!"<<endl;
				}
				else cout<<"对不起,该书在馆中或已被预定!"<<endl;
			}
			break;
		default: break;
		}
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
void searchBookSystem()                                              //图书查询系统
{
	int i,len=0,j,k;
	int choice=1;
	long num;
	char name[40];
	char author[20];
	char p[40];
	char isbn[20];
	while (choice)
	{
		cout<<endl<<"※※※※※※※※※※※※※※¤   图书查询系统   ¤※※※※※※※※※※※※※※"<<endl;
		cout<<endl<<"1-按书号查询"<<endl;
		cout<<"2-按书名查询(支持模糊查询)"<<endl;
		cout<<"3-按作者查询(支持模糊查询)"<<endl;
		cout<<"4-按ISBN号查询"<<endl;
		cout<<"5-列出本馆所收藏图书"<<endl;
		cout<<"0-退出图书查询系统"<<endl;
		cout<<endl<<"请输入你的选择: "<<flush;
		choice=checkChoice(0,5);
		switch (choice)
		{
		case 1:
			cout<<"请输入要查找的图书号:"; cin>>num;
			cout<<endl;
			if (searchBook(num)==-1) cout<<"对不起,该书号不存在!"<<endl;
			else 
			{
				cout<<"找到1本满足条件的书:"<<endl;
				cout<<setiosflags(ios::left)<<setw(10)<<"图书编号"<<setw(25)<<"书名"<<setw(20)<<"作者"<<setw(15)<<"ISBN号"<<setw(5)<<"状态"<<endl;
				book[searchBook(num)].print(0);
			}
			break;
		case 2:
			cout<<"请输入要查找的书名:"; cin>>name;
			cout<<endl;
			k=0;
			len=strlen(name);
			for (i=0; i<book_Number; i++)
			{
				j=0;
				while (book[i].getName()[j]!='\0')
				{
					strcpy(p,&book[i].getName()[j]);
					p[len]='\0';
					if (!strcmp(p,name)) 
					{ k++; break; }
					j++;
				}
			}
			if (!k) cout<<"对不起,没有满足条件的书目!"<<endl;
			else
			{
				cout<<"找到"<<k<<"本满足条件的书:"<<endl;
				cout<<setiosflags(ios::left)<<setw(10)<<"图书编号"<<setw(25)<<"书名"<<setw(20)<<"作者"<<setw(15)<<"ISBN号"<<setw(5)<<"状态"<<endl;
				for (i=0; i<book_Number; i++)
				{
					j=0;
					while (book[i].getName()[j]!='\0')
					{
						strcpy(p,&book[i].getName()[j]);
						p[len]='\0';
						if (!strcmp(p,name)) 
						{
							book[i].print(0);
							break;
						}
						j++;
					}
				}
			}
			break;
		case 3:
			cout<<"请输入要查找的作者:"; cin>>author;
			cout<<endl;
			len=strlen(author);
			k=0;
			for (i=0; i<book_Number; i++)
			{
				j=0;
				while (book[i].getAuthor()[j]!='\0')
				{
					strcpy(p,&book[i].getAuthor()[j]);
					p[len]='\0';
					if (!strcmp(p,author)) 
					{ k++; break; }
					j++;
				}
			}
			if (!k) cout<<"对不起,没有满足条件的书目!"<<endl;
			else
			{
				cout<<"找到"<<k<<"本满足条件的书:"<<endl;
				cout<<setiosflags(ios::left)<<setw(10)<<"图书编号"<<setw(25)<<"书名"<<setw(20)<<"作者"<<setw(15)<<"ISBN号"<<setw(5)<<"状态"<<endl;
				for (i=0; i<book_Number; i++)
				{
					j=0;
					while (book[i].getAuthor()[j]!='\0')
					{
						strcpy(p,&book[i].getAuthor()[j]);
						p[len]='\0';
						if (!strcmp(p,author)) 
						{
							book[i].print(0);
							break;
						}
						j++;
					}
				}
			}
			break;
		case 4:
			cout<<"请输入要查找的ISBN号:"; cin>>isbn;
			cout<<endl;
			j=0;
			for (i=0; i<book_Number; i++)
			{
				if (!strcmp(isbn,book[i].getIsbn())) 
				{
					cout<<"找到1本满足条件的书:"<<endl;
					cout<<setiosflags(ios::left)<<setw(10)<<"图书编号"<<setw(25)<<"书名"<<setw(20)<<"作者"<<setw(15)<<"ISBN号"<<setw(5)<<"状态"<<endl;
					book[i].print(0);
					j++;
				}
			}
			if (!j) cout<<"对不起,馆内无此书!"<<endl;
			break;
		case 5:
			j=0;
			for (i=0; i<book_Number; i++) 
				if (book[i].getStatus()!=0) j++;
			cout<<"馆内共有"<<j<<"本书:"<<endl;
			cout<<setiosflags(ios::left)<<setw(10)<<"图书编号"<<setw(25)<<"书名"<<setw(20)<<"作者"<<setw(15)<<"ISBN号"<<setw(5)<<"状态"<<endl;
			for (i=0; i<book_Number; i++) 
				if (book[i].getStatus()!=0) book[i].print(0);
			break;
		default: break;
		}
		
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
void bookArrangement()                                               //图书管理系统
{
	int choice=1;
	long num;
	char name[40];
	char author[20];
	char isbn[20];
	while(choice)
	{
		cout<<endl<<"※※※※※※※※※※※※※※¤   图书管理系统   ¤※※※※※※※※※※※※※※"<<endl;
		cout<<endl<<"1-添加新书"<<endl;
		cout<<"2-删除旧书"<<endl;
		cout<<"3-修改图书信息"<<endl;
		cout<<"0-退出图书管理系统"<<endl;
		cout<<endl<<"请输入您的选择: "<<flush;
		choice=checkChoice(0,3);
		switch(choice)
		{
		case 1:
			cout<<"请输入书号: "; cin>>num;
			if(searchBook(num)!=-1) cout<<"操作失败,此书号已存在!"<<endl;
			else 
			{
				cout<<"请输入书名: "; cin>>name;
				cout<<"请输入作者: "; cin>>author;
				cout<<"请输入ISBN号: "; cin>>isbn;
				cout<<"新增图书成功!"<<endl;
				book[book_Number].setBook(num,name,author,isbn);
				book_Number++;
			}
			break;
		case 2:
			cout<<"请输入要删除的书号: "; cin>>num;
			cout<<"确认要删除此书? (y/n): "<<flush; 
			if (yesno()=='n') break;
			if (searchBook(num)==-1) cout<<"操作失败,没有此书号!"<<endl;
			else if (book[searchBook(num)].getStatus()!=1) cout<<"对不起,此书目前不在馆中,无法删除!"<<endl;
			else
			{
				book[searchBook(num)].deleteBook();
				cout<<"删除图书成功!";
			}
			break;
		case 3:
			cout<<"请输入要修改的书号: "; cin>>num;
			cout<<"确认要修改此书? (y/n): "<<flush; 
			if (yesno()=='n') break;
			if (searchBook(num)==-1) cout<<"操作失败,没有此书号!"<<endl;
			else if (book[searchBook(num)].getStatus()!=1) cout<<"对不起,此书目前不在馆中,无法修改!"<<endl;
			else
			{
				cout<<"请输入新的书名: "; cin>>name;
				cout<<"请输入新的作者: "; cin>>author;
				cout<<"请输入新的ISBN号: "; cin>>isbn;
				cout<<"修改图书成功!"<<endl;
                book[searchBook(num)].setBook(num,name,author,isbn);
			}
			break;
		default:break;
		}
	}
}

///////////////////////////////////////////////////////////////////////////////////////////////////
void limitArrangement()                                              //权限管理系统
{
	int choice=1,i,j=0;
	long num;
	char na[20];
	char psw[PSW_LENGTH];
	char confirmPsw[PSW_LENGTH];
	int lim;
	while(choice)
	{
		cout<<endl<<"※※※※※※※※※※※※※※¤   权限管理系统   ¤※※※※※※※※※※※※※※"<<endl;
		cout<<endl<<"1-添加管理员"<<endl;
		cout<<"2-删除管理员"<<endl;
		cout<<"3-修改管理权限"<<endl;
		cout<<"4-列出本馆管理员清单"<<endl;
		cout<<"0-退出权限管理系统"<<endl;
		cout<<endl<<"请输入你的选择: "<<flush;
		choice=checkChoice(0,4);
		switch(choice)
		{
		case 1:
			cout<<"请输入新增管理员卡号: "; cin>>num;
	  		if (searchReader(num)!=-1) cout<<"操作失败!该卡号已经存在!"<<endl;
			else
			{
				cout<<"请输入新增管理员姓名: "; cin>>na;
				cout<<"请输入新增管理员密码: "<<flush;
				strcpy(psw,password());
				cout<<"请确认新增管理员密码: "<<flush;
				strcpy(confirmPsw,password());
				if (!strcmp(psw,confirmPsw))
				{
					cout<<"请输入新增管理员权限(3-图书管理 4-读者管理 5-系统管理):"<<flush;
					lim=checkChoice(3,5);
					cout<<"新增管理员成功!"<<endl;
					reader[reader_Number].setReader(num,na,psw,lim);
					reader_Number++;
				}
				else cout<<"操作失败,两次输入的密码不符!"<<endl;
			}
			break;
		case 2:
			cout<<"请输入要删除的管理员卡号: "; cin>>num;
			cout<<"确认要删除该管理员? (y/n): "<<flush;
			if (yesno()=='n') break;
			if (searchReader(num)==-1) cout<<"操作失败!该卡号不存在!"<<endl;
			else if (reader[searchReader(num)].getLimit()==5) cout<<"操作失败!系统管理员不能删除!"<<endl;
			else if (reader[searchReader(num)].getLimit()<3) cout<<"操作失败!此人不是管理员!"<<endl;
			else if (reader[searchReader(num)].getBorrowedNum()!=0) cout<<"操作失败!此人尚借书未还!"<<endl;
			else 
			{
				reader[searchReader(num)].deleteReader();
				cout<<"删除操作成功!"<<endl;
			}
			break;
		case 3:
			cout<<"读者的卡号: "; cin>>num; 
			cout<<"确认要转换该读者为管理员? (y/n): "<<flush;
			if (yesno()=='n') break;
			if (searchReader(num)==-1) cout<<"操作失败!该卡号不存在!"<<endl;
			else if (reader[searchReader(num)].getLimit()==5) cout<<"操作失败!系统管理员的权限不能修改!"<<endl;
			else 
			{
				cout<<"转换成什么权限(3-图书管理 4-读者管理 5-系统管理): "<<flush;
				lim=checkChoice(3,5);
				reader[searchReader(num)].changeLimit(lim);
				cout<<"权限转换成功!"<<endl;
			}
			break;
		case 4:
			cout<<setiosflags(ios::left)<<setw(10)<<"卡号"<<setw(15)<<"姓名"<<setw(15)<<"权限"<<setw(15)<<"借书本数"<<endl;
			j=0;
			for (i=0; i<reader_Number; i++)
				if (reader[i].getLimit()>2)
				{
					reader[i].print();
					j++;
				}
			cout<<"本馆共有"<<j<<"位管理员"<<endl;
		default:break;
		}
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
void readerArrangement()                                             //读者管理系统
{
	int choice=1,i,j=0;
	long num;
	char na[20];
	char psw[PSW_LENGTH];
	char confirmPsw[PSW_LENGTH];
	int lim;
	while (choice)
	{
		cout<<endl<<"※※※※※※※※※※※※※※¤   读者管理系统   ¤※※※※※※※※※※※※※※"<<endl;
		cout<<endl<<"1-添加读者"<<endl;
		cout<<"2-删除读者"<<endl;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -