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

📄 library.cpp

📁 一个dos版的图书管理系统。
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		cout<<"3-修改读者信息"<<endl;
		cout<<"4-读者信息查询"<<endl;
		cout<<"5-显示本馆读者列表"<<endl;
		cout<<"0-退出读者管理系统"<<endl;
		cout<<endl<<"请输入你的选择: "<<flush;
		choice=checkChoice(0,5);
		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<<"请输入新增读者类型(1-学生 2-教师): "<<flush;
					lim=checkChoice(1,2);
					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()>2) cout<<"操作失败!不能删除管理员!"<<endl;
			else if (reader[searchReader(num)].getBorrowedNum()!=0) cout<<"操作失败!此人尚借书未还!"<<endl;
			else 
			{
				reader[searchReader(num)].deleteReader();
				cout<<"删除操作成功!";
			}
			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()>2) cout<<"操作失败!不能修改管理员!"<<endl;			
			else 
			{
				cout<<"请输入新的姓名: "; cin>>na;
				cout<<"请输入新的密码: "<<flush;
				strcpy(psw,password());
				cout<<"请确认新的密码: "<<flush;
				strcpy(confirmPsw,password());
				if (!strcmp(psw,confirmPsw))
				{
					cout<<"请输入新的读者类型(1-学生 2-教师): "<<flush;
					choice=checkChoice(1,2);
					cout<<"修改读者成功!";
					reader[searchReader(num)].setReader(num,na,psw,lim);
				}
				else cout<<"操作失败,两次输入的密码不符!"<<endl;
			}
			break;
		case 4:
			cout<<"请输入要查询的读者卡号: "; cin>>num;
			if (searchReader(num)==-1) cout<<"操作失败!该卡号不存在!"<<endl;
            else 
			{
				cout<<endl<<setiosflags(ios::left)<<setw(10)<<"卡号"<<setw(15)<<"姓名"<<setw(15)<<"权限"<<setw(15)<<"借书本数"<<endl;
				reader[searchReader(num)].print();
			}
			break;
		case 5:
			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()<3 && reader[i].getLimit()>0) 
				{
					reader[i].print();
					j++;
				}
			cout<<"本馆共有"<<j<<"位读者"<<endl;
		default: break;
		}
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
void readerInformation(long num)                                     //读者信息查询
{
	int i;
	cout<<endl<<"※※※※※※※※※※※※※※¤   读者信息查询   ¤※※※※※※※※※※※※※※"<<endl;
	cout<<endl<<setiosflags(ios::left)<<setw(10)<<"卡号"<<setw(15)<<"姓名"<<setw(15)<<"权限"<<setw(15)<<"借书本数"<<endl;
	reader[searchReader(temp_CardNumber)].print();
	if (reader[searchReader(temp_CardNumber)].borrowed_Num) 
	{
		cout<<endl<<"你借了以下"<<reader[searchReader(temp_CardNumber)].borrowed_Num<<"本书: "<<endl<<flush;
		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].status>=2 && num==book[i].lend_Reader) book[i].print(num);
	}
	else cout<<endl<<"你没有借过图书!"<<endl<<flush;
	for (i=0; i<book_Number; i++) 
			if (book[i].status==3 && num==book[i].book_Reader) book[i].print(num);
	cout<<endl;
	system("pause");
}
///////////////////////////////////////////////////////////////////////////////////////////////////
int login()                                                          //用户登录函数
{
	char temp_Psw[PSW_LENGTH];
	while (1)
	{
		cout<<endl<<"请输入你的卡号: "; cin>>temp_CardNumber;
		if (searchReader(temp_CardNumber)==-1) 
		{
			cout<<"该卡号不存在!"<<endl<<endl;
			system("pause");
			return 1;
		}
		else break;
	}
	cout<<"请输入你的密码: "<<flush;
	strcpy(temp_Psw,password());
	if (reader[searchReader(temp_CardNumber)].checkPassword(temp_Psw)) 
	{
		cout<<"密码错误,请重试!"<<endl<<endl;
		system("pause");
		return 1;
	}
	else return 0;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
void advise()
{
	system("cls");
	char name[20];
	char contract[40];
	char advise[200];
	cout<<endl<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
	cout<<"※                                                                          ※"<<endl;
	cout<<"※                             留          言                               ※"<<endl;
	cout<<"※                                                                          ※"<<endl;
	cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
	cout<<endl<<"添加留言"<<endl;
	cout<<"---------------------------------------"<<endl;
	cout<<"您的大名:"; cin>>name;
	cout<<endl;
	cout<<"您的联系方式:"; cin>>contract;
	cout<<endl;
	cout<<"您的宝贵建议:"; cin>>advise;
	cout<<endl;
	cout<<"---------------------------------------"<<endl;
	ofstream fout("advise.txt",ios::ate,2);                       //开始写入文件information
	fout.setf(ios::left);
	if(!fout)
	{
       cout<<"无法打开文件,错误!"<<endl;
   	}
	fout<<setw(20)<<name<<setw(40)<<contract<<setw(200)<<advise<<endl;
	fout.close();
	cout<<"谢谢大虾"<<name<<"的留言,我会努力的^_^"<<endl;
	cout<<endl;
	system("pause");
}
///////////////////////////////////////////////////////////////////////////////////////////////////
void show(int lim)                                                   //界面显示函数
{
	int choice=1;
 	switch (lim)
	{
	case 1:
	case 2: while (choice)
			{
				system("cls"); cout<<endl;
				cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
				cout<<"※                                                                          ※"<<endl;
				cout<<"※                    欢迎登录图书管理系统 (普通师生)                     ※"<<endl;
				cout<<"※                                                                          ※"<<endl;	
				cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
				cout<<endl;
				cout<<"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: searchBookSystem(); break;
				case 2: bookOperate(temp_CardNumber); break;
				case 3: readerInformation(temp_CardNumber); break;
				case 4: changePassword(); break;
				}
			}
			break;
	case 3: while (choice)
			{
				system("cls"); cout<<endl;
				cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
				cout<<"※                                                                          ※"<<endl;
				cout<<"※                   欢迎登录图书管理系统 (图书管理员)                    ※"<<endl;
				cout<<"※                                                                          ※"<<endl;	
				cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
				cout<<endl;
				cout<<"1-图书管理"<<endl;
				cout<<"2-图书查询"<<endl;
				cout<<"3-流通管理"<<endl;
				cout<<"4-读者信息"<<endl;
				cout<<"5-密码修改"<<endl;
				cout<<"0-注销登录"<<endl;
				cout<<endl<<"请输入你的选择: "<<flush;
				choice=checkChoice(0,5);
				switch (choice)
				{
				case 1: bookArrangement(); break;
				case 2: searchBookSystem(); break;
				case 3: bookOperate(temp_CardNumber); break;
				case 4: readerInformation(temp_CardNumber); break;
				case 5: changePassword(); break;
				}
			}
			break;
	case 4: while (choice)
			{
				system("cls"); cout<<endl;
				cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
				cout<<"※                                                                          ※"<<endl;
				cout<<"※                   欢迎登录图书管理系统 (读者管理员)                    ※"<<endl;
				cout<<"※                                                                          ※"<<endl;	
				cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
				cout<<endl;
				cout<<"1-读者管理"<<endl;
				cout<<"2-图书查询"<<endl;
				cout<<"3-流通管理"<<endl;
				cout<<"4-读者信息"<<endl;
				cout<<"5-密码修改"<<endl;
				cout<<"0-注销登录"<<endl;
				cout<<endl<<"请输入你的选择: "<<flush;
				choice=checkChoice(0,5);
				switch (choice)
				{
				case 1: readerArrangement(); break;
				case 2: searchBookSystem(); break;
				case 3: bookOperate(temp_CardNumber); break;
				case 4: readerInformation(temp_CardNumber); break;
				case 5: changePassword(); break;
				}
			}
			break;
	case 5: while (choice)
			{
				system("cls"); cout<<endl;
				cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
				cout<<"※                                                                          ※"<<endl;
				cout<<"※                   欢迎登录图书管理系统 (系统管理员)                    ※"<<endl;
				cout<<"※                                                                          ※"<<endl;	
				cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
				cout<<endl;
				cout<<"1-权限管理"<<endl;
				cout<<"2-图书管理"<<endl;
				cout<<"3-读者管理"<<endl;
				cout<<"4-图书查询"<<endl;
				cout<<"5-流通管理"<<endl;
				cout<<"6-读者信息"<<endl;
				cout<<"7-密码修改"<<endl;
				cout<<"0-注销登录"<<endl;
				cout<<endl<<"请输入你的选择: "<<flush;
				choice=checkChoice(0,7);
				switch (choice)
				{
				case 1: limitArrangement(); break;
				case 2: bookArrangement(); break;
				case 3: readerArrangement(); break;
				case 4: searchBookSystem(); break;
				case 5: bookOperate(temp_CardNumber); break;
				case 6: readerInformation(temp_CardNumber); break;
				case 7: changePassword(); break;
				}
			}
			break;
	default: break;
	}
}

///////////////////////////////////////////////////////////////////////////////////////////////////
void main()                                                          //主函数
{
	ireader>>reader_Number;
	ibook>>book_Number;
	for (int i=0; i<reader_Number; i++) ireader>>reader[i];
	for (i=0; i<book_Number; i++) ibook>>book[i];
	int choice=1;
	while (choice)
	{
		system("cls"); cout<<endl;
		cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
		cout<<"※                                                                          ※"<<endl;
		cout<<"※                           欢迎使用图书管理系统                           ※"<<endl;
		cout<<"※                                                                          ※"<<endl;	
		cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<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:
			if (login()) break;
			show(reader[searchReader(temp_CardNumber)].getLimit());
			break;
		case 2:
			searchBookSystem();
			break;
		case 3:
			advise();
			break;
		default:
			break;
		}
	}
	ofstream clearreader("reader.txt",ios::trunc);                   //清空原文本
	clearreader.close();
	int k=0;                                                         //逻辑删除转变为物理删除
	for (i=0; i<reader_Number; i++)
		if (reader[i].getLimit()==0) k++;
		oreader.seekp(0);
	oreader<<reader_Number-k<<endl;
	ofstream clearbook("book.txt",ios::trunc);
	clearbook.close();
	k=0;
	for (i=0; i<book_Number; i++)
		if (book[i].getStatus()==0) k++;
	obook.seekp(0);
	obook<<book_Number-k<<endl;
	for (i=0; i<reader_Number; i++) 
		if (reader[i].getLimit()!=0)  oreader<<reader[i];
	for (i=0; i<book_Number; i++) 
		if (book[i].getStatus!=0) obook<<book[i];
	cout<<"\n\n\n\n\n\n\n\n\n"<<"                             ★本系统由冰麒麟制作★"<<endl;
	cout<<"                                  ☆谢谢使用☆"<<endl;
}

⌨️ 快捷键说明

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