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

📄 manage.h

📁 C++课程设计的作业
💻 H
字号:
//*****************************
//任  务:C++课程设计
//题  目:图书管理系统
//作  者:040630520彭立勋
//题  号:课程设计Final
//用  途:书库管理模块的头文件
//文件名:Manage.h
//最后更新日期:2007.6.10
//*****************************

#ifndef MANAGEDEF_H
#define MANAGEDEF_H

void Screen(Sale &,BookData &);
void Manage(Sale &,BookData &);

int LookUpBook( bool Mode , BookData &S )
{
	char Msg[2][10]={"ISBN","书名"};
	char Inf[51];
	int n;
	/*操作界面*/
	CLS;
	cout<<TAB<<"\tNUAA图书管理系统    "
		<<"\n"<<TAB<<"\t  书库管理模块"
		<<"\n"<<TAB<<"\t    查找图书  "
		<<"\n"<<TAB<<"请输入"<<Msg[Mode]<<" : ";
	cin>>Inf;
	CBUF;
	n=S.BookMatch( Mode , Inf );
	if( n == -1 )
	{ cout<<"\n"<<TAB<<"对不起,没有找到您要的书!\n\n"<<endl;STOP;return -1; }
		else { S.BookInfo(); cout<<"\n\n"<<endl;STOP;return n; }
}

void SearchBook(Sale &T,BookData &S)//查找某本书的信息
{
	int Command;
	
	while(true)
	{
		/*操作界面*/
		CLS;
		cout<<TAB<<"\tNUAA图书管理系统     "
			<<"\n"<<TAB<<"\t  书库管理模块 "
			<<"\n"<<TAB<<"\t    查找图书   "
			<<"\n"<<TAB<<"\t1. 按ISBN码查询"
			<<"\n"<<TAB<<"\t2. 按图书名查询"
			<<"\n"<<TAB<<"\t3. 返回书库管理模块菜单"
			<<endl;
		/*处理指令*/
		cout<<"\n"<<TAB<<"请输入指令 : ";
		cin>>Command;
		CBUF;
		switch(Command)
		{
			case 1:LookUpBook(0,S);break;
			case 2:LookUpBook(1,S);break;
			case 3:Manage(T,S);break;
			default:ERR;break;
		}
	}
}

void AddBook(Sale &T,BookData &S)//增加图书
{
	int i;
	BookData Inf;
	char  Str[51];
	int   Integer;
	float Real;
	/*读入增加书目的信息*/
	CLS;
	cout<<TAB<<"\tNUAA图书管理系统    "
		<<"\n"<<TAB<<"\t  书库管理模块"
		<<"\n"<<TAB<<"\t    增加图书\n"
		<<endl;
	cout<<"\n"<<TAB<<"请输入图书 ISBN号码 : ";
	cin>>Str;
	S.SetISBN( Str );
	cout<<TAB<<"请输入图书 书    名 : ";
	cin>>Str;
	S.SetTitle( Str );
	cout<<TAB<<"请输入图书 作    者 : ";
	cin>>Str;
	S.SetAuthor( Str );
	cout<<TAB<<"请输入图书 出 版 社 : ";
	cin>>Str;
	S.SetPub( Str );
	cout<<TAB<<"请输入图书 进书日期 : ";
	cin>>Str;
	S.SetDateAdded( Str );
	cout<<TAB<<"请输入图书 库 存 量 : ";
	cin>>Integer;
	S.SetQty( Integer );
	cout<<TAB<<"请输入图书 批 发 价 : ";
	cin>>Real;
	S.SetWholesale( Real );
	cout<<TAB<<"请输入图书 零 售 价 : ";
	cin>>Real;
	S.SetRetail( Real );
	/*将新增书目资料写入文件*/
	FileWork::WriteToFile( NUM+1 , S );
	NUM++;
	FileWork::WriteNUM( );
	cout<<"\n"<<TAB<<"\t新书添加成功!\n\n"<<endl;
	STOP;
}

void EditBook(Sale &T,BookData &S)//修改图书的信息
{
	int  Command;				//输入的指令
	int  n;						//需要修改的图书的位置
	bool Flag=true;				//判断是否循环
	void Manage(Sale &,BookData &);	//函数声明
	
	/*查找要修改的书的下标*/
	while(Flag)
	{
		/*操作界面*/
		CLS;
		cout<<TAB<<"\tNUAA图书管理系统               "
			<<"\n"<<TAB<<"\t  书库管理模块           "
			<<"\n"<<TAB<<"\t    修改图书             "
			<<"\n"<<TAB<<"1. 按ISBN码查找要修改的图书"
			<<"\n"<<TAB<<"2. 按图书名查找要修改的图书"
			<<"\n"<<TAB<<"3. 返回书库管理模块菜单    "
			<<endl;
		/*处理操作*/
		cout<<"\n"<<TAB<<"请输入指令 : ";
		cin>>Command;
		CBUF;
		switch(Command)
		{
					case 1:n=LookUpBook(0,S);Flag=false;break;
					case 2:n=LookUpBook(1,S);Flag=false;break;
					case 3:Manage(T,S);Flag=false;break;
					default:ERR;break;
		}
	}
	/*处理修改*/
	Flag=true;
	while(Flag)
	{
		CLS;
		cout<<"\n"<<TAB<<"\t  可以修改的项目\n"
			<<TAB<<"\t    1. ISBN号码"
			<<TAB<<"\t    2. 书    名"
			<<TAB<<"\t    3. 作    者"
			<<TAB<<"\t    4. 出 版 社"
			<<TAB<<"\t    5. 进书日期"
			<<TAB<<"\t    6. 库 存 量"
			<<TAB<<"\t    7. 批 发 价"
			<<TAB<<"\t    8. 零 售 价"
			<<"\n"<<TAB<<"请输入要修改的项目 : ";
		cin>>Command;
		CBUF;
		switch(Command)
		{
			case 1: char Inf[14];
					cout<<"\n"<<TAB<<"请输入新的ISBN号码 : ";
					cin>>Inf;
					S.SetISBN(Inf);
					Flag=false;
					break;
			case 2: char Title[51];
					cout<<"\n"<<TAB<<"请输入新的书名 : ";
					cin>>Title;
					S.SetTitle(Title);
					Flag=false;
					break;
			case 3: char Author[31];
					cout<<"\n"<<TAB<<"请输入新的作者 : ";
					cin>>Author;
					S.SetAuthor(Author);
					Flag=false;
					break;
			case 4: char Pub[31];
					cout<<"\n"<<TAB<<"请输入新的出版社 : ";
					cin>>Pub;
					S.SetPub(Pub);
					Flag=false;
					break;
			case 5: char Date[11];
					cout<<"\n"<<TAB<<"请输入新的进书日期 : ";
					cin>>Date;
					S.SetDateAdded(Date);
					Flag=false;
					break;
			case 6: int Qty;
					cout<<"\n"<<TAB<<"请输入新的库存量 : ";
					cin>>Qty;
					S.SetQty(Qty);
					Flag=false;
					break;
			case 7: float Wholesale;
					cout<<"\n"<<TAB<<"请输入新的I批发价 : ";
					cin>>Wholesale;
					S.SetWholesale(Wholesale);
					Flag=false;
					break;
			case 8: float Retail;
					cout<<"\n"<<TAB<<"请输入新的ISBN号码 : ";
					cin>>Retail;
					S.SetRetail(Retail);
					Flag=false;
					break;
			default:ERR;break;
		}
	}
	FileWork::WriteToFile(n,S);
	cout<<"\n"<<TAB<<"图书信息修改成功!\n\n"<<endl;
	STOP;
}

void DeleteBook(Sale &T,BookData &S)//删除图书
{
	bool Flag=true;	//判断是否循环
	int Command;	//输入的指令
	int n;			//需要修改的图书的下标
	void Manage(Sale &,BookData &);//函数声明
	
	/*查找要修改的书的下标*/
	while(Flag)
	{
		/*操作界面*/
		CLS;
		cout<<TAB<<"\tNUAA图书管理系统"
			<<"\n"<<TAB<<"\t  书库管理模块"
			<<"\n"<<TAB<<"\t    删除图书"
			<<"\n"<<TAB<<"1. 按ISBN码查找要删除的图书"
			<<"\n"<<TAB<<"2. 按图书名查找要删除的图书"
			<<"\n"<<TAB<<"3. 返回书库管理模块菜单"
			<<endl;
		/*处理操作*/
		cout<<"\n"<<TAB<<"请输入查找方式 : ";
		cin>>Command;
		CBUF;
		switch(Command)
		{
					case 1:n=LookUpBook(0,S);Flag=false;break;
					case 2:n=LookUpBook(1,S);Flag=false;break;
					case 3:Manage(T,S);Flag=false;break;
					default:ERR;break;
		}
	}
	/*保存删除*/
	S.RemoveBook();
	FileWork::WriteToFile(n,S);
	cout<<"\n"<<TAB<<"图书信息删除成功!\n\n"<<endl;
	STOP;
}

/*实现部分*/
void Manage(Sale &T,BookData &S)
{
	int Command;
	
	while(true)
	{
		/*操作界面*/
		CLS;
		cout<<TAB<<"\tNUAA图书管理系统\n"
			<<TAB<<"\t  书库管理模块\n"
			<<TAB<<"\t 1. 查找某本书的信息"
			<<TAB<<"\t 2. 增加书"
			<<TAB<<"\t 3. 修改书的信息"
			<<TAB<<"\t 4. 删除书"
			<<TAB<<"\t 5. 返回到主菜单"
			<<endl;
		/*处理操作*/
		cout<<TAB<<"\t输入选择 : ";
		cin>>Command;
		CBUF;
		switch(Command)
		{
				case 1:SearchBook(T,S);break;
				case 2:AddBook(T,S);break;
				case 3:EditBook(T,S);break;
				case 4:DeleteBook(T,S);break;
				case 5:Screen(T,S);break;
				default:ERR;break;
		}
	}
}
#endif

⌨️ 快捷键说明

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