📄 manage.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 + -