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

📄 function.cpp

📁 小小游戏专业源代码1
💻 CPP
字号:
#include <iostream.h>
#include "function.h"

int itemNum=0, readerNum=0, loanNum=0, managerNum=0;

void CreateBibliotheca(Item item[])  //	创建书目的函数
{
	char s1[40],s2[20],s3[10],c;
	long code;
	int i = itemNum;
	do{
		cout<<"创建书目:\n";
		cout<<"输入,用回车符间隔:书名 作者 分类号 条码 \n";
		cout<<"书名:";		cin.getline(s1,40);
		cout<<"作者:";		cin.getline(s2,20);
		cout<<"分类号:";	cin.getline(s3,10);
		cout<<"条码:";		cin>>code;cin.get();

		item[i].SetTitle(s1);
		item[i].SetAuthor(s2);
		item[i].SetIndexCode(s3);
		item[i].SetBarCode(code);
		
		cout<<"继续吗?Y(y)es/N(n)o\n";
		cin>>c;
		cin.get();
		i++;
	}while(c=='Y'||c=='y');
	//}while(c=='Y'||c=='y'||(c!='n'&&c!='N'));
	itemNum = i;
	return ;
}

void CreateReader(Reader reader[])	//	创建读者库
{
	char s1[40],s2[20];	
	char c; 
	int j = readerNum,age;
	long code;
	do{
		cout<<"创建读者信息:\n";
		cout<<"输入,用回车符间隔:姓名 职务 年龄 借书证号 \n";
		cout<<"姓名:";			cin.getline(s1,40);
		cout<<"职务:";			cin.getline(s2,20);
		cout<<"年龄:";			cin>>age;
		cout<<"借书证号:";		cin>>code;
		
		reader[j].SetName(s1);
		reader[j].SetPosition(s2);
		reader[j].SetAge(age);
		reader[j].SetCode(code);

		cout<<"继续吗?Y(y)es/N(n)o\n";
		cin>>c;
		cin.get();
		j++;
	}while(c=='Y'||c=='y');
	readerNum = j;
	return ;
}
	
int ShowMainMenu()			//	显示主菜单
{
	int c;
	cout<<"请选择: 首次使用,建议先依次选择1,2,3\n";
	cout<<"1: 创建书目\n2: 创建读者库\n3: 创建管理员库\n4:借书\n5: 还书\n6: 查询\n0: 退出\n";
	cin>>c;
	cin.get();
	return c;
}

Loan Borrow(Item item[], Reader reader[],Manager manager[])	//	借书操作
{
	int code,barcode;
	Item it;
	Loan ln;
	cout<<"请输入借书证号\n";
	cin>>code;
	for(int i = 0; i<readerNum; i++)		//	查找读者
	{
		if(code==reader[i].GetCode()){
			break;
		}
	}

	cout<<"借书,请输入书本条码:\n";
	cout<<"书名\t\t作者\t分类号\t条码\n";
	for(int j=0; j<itemNum; j++)				//	查找书
		item[j].Show();
	cin>>barcode;
	for( j=0; j<itemNum; j++)
		if(item[j].GetBarCode()==barcode)		//	若与书目中某本书条码相同
		{ 
			it = item[j];
			reader[i].AddBook(it);				//	添加到读者所借书  
			for(int k = j; k<itemNum-1; k++){	//	从可借阅书中删除借出书
				item[k] = item[k+1];
			}
			itemNum--;
			break;
		}
	cout<<"请选择管理员工号:\n";
	cout<<"姓名\t年龄\t工号\n";
	for(j=0; j<managerNum; j++)				//	查找书
		cout<<manager[j].Name<<'\t'<<manager[j].Age<<'\t'<<manager[j].Code<<endl;
	cin>>code;
	for(j=0; j<managerNum; j++){
		if(manager[j].Code==code) ln.manager = manager[j];
		break;
	}
	ln.reader = reader[i];						//	添加借阅信息	
	ln.item = it;
	return ln;
}

void Return(Reader reader[],Item item[], Loan loan[])	//	还书操作
{
	int code,barcode,i,j,k;
	Item it;  Reader rd;
	Loan ln;
	cout<<"还书,请输入借书证号\n";
	cin>>code;
	for(i = 0; i<readerNum; i++)		
	{
		if(code==reader[i].GetCode()){
			cout<<"这是您所借书,请选择待还书的条码\n";
		reader[i].ShowBooks();
		break;
		}
	}
	if(i==readerNum){ cout<<"没有此号码,请重新选择!\n"; return;}
	cin>>barcode;
	for(j =0; j<loanNum; j++)					//		
	{
		if(loan[j].item.GetBarCode()==barcode&&loan[j].reader.GetCode()==code)
		{
				reader[i].DelBook(loan[j].item);  //    从读者所借书中删除所还书
				item[itemNum++] = loan[j].item;   //		添加到可借阅书中
				for(k = j; k<loanNum-1; k++)      //		删除借阅信息
					loan[k] = loan[k+1];
				loanNum--;
				break;
		}
	}
	return;
}

void Require(Reader reader[])	//	通过借书证号查询所借书
{
	int code,i;
	Item it;  Reader rd;
	Loan ln;
	cout<<"查询,请输入借书证号\n";
	cin>>code;
	for(i = 0; i<readerNum; i++)
	{
		if(code==reader[i].GetCode()){
			cout<<"这是您所借书\n";
		reader[i].ShowBooks();
		break;
		}
	}
	if(i==readerNum){ cout<<"没有此号码,请重新选择!\n"; return;}
	return;
}

void CreateManager(Manager manager[])	//	创建管理员库
{
	char c;
	int j = managerNum;
	do{
		cout<<"创建管理员信息:\n";
		cout<<"输入,用回车符间隔:姓名 年龄 工号 \n";
		cout<<"姓名:";			cin.getline(manager[j].Name,20);
		cout<<"年龄:";			cin>>manager[j].Age;
		cout<<"工号:";		cin>>manager[j].Code;
		
		cout<<"继续吗?Y(y)es/N(n)o\n";
		cin>>c;
		cin.get();
		j++;
	}while(c=='Y'||c=='y');
	managerNum = j;
	return ;
}

⌨️ 快捷键说明

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