📄 bankmanagerbook.cpp
字号:
#include"BankManagerBook.h"
////////////////////////////////////////////
BankManagerBook::BankManagerBook()//构造函数
{//功能:清除屏幕信息 调用读取函数 进入 开始菜单
system("cls");
loaduserandbanker();
start();
}
///////////////////////////////////////////////
BankManagerBook::~BankManagerBook()//析构函数
{
}
//////////////////////////////////////////////
void BankManagerBook::start()//开始函数
{//功能:开始菜单模块 调用验证账户函数
// 调用验证密码函数
cout<<"____________________________\n";
cout<<"管理人员账号:"<<setw(15)<<banker.account<<endl;
cout<<"管理人员密码:"<<setw(15)<<banker.cipher<<endl;
cout<<"利率:"<<setw(23)<<banker.interest<<endl;
cout<<"利息税:"<<setw(21)<<banker.interest_tax<<endl;
cout<<"以上信息供测试使用\n";
cout<<"____________________________\n";
cout << "请输入你的管理人员账号:";
char account[20];
int j;
for(j=0;j<20;j++)
{
account[j]='\0';
}
cin >> account;
if(nomanager(account))
{
cout << "该账户不存在\n";
cout << "\n是否重新输入?[Y/N]";
char chioce[2];
cin >> chioce;
if(chioce[0]!='n' && chioce[0]!='N')
{
start();
}
else
exit(0);
}
else
{
if(checkmanager())
{
handlemenu();
}
else
{
cout << "\n密码错误或者账号错误" << endl;
cout << "\n是否重新输入?[Y/N]";
char chioce[2];
cin >> chioce;
if(chioce[0]!='n' && chioce[0]!='N')
{
start();
}
else
exit(0);
}
}
}
///////////////////////////////////////////////////////////////
int BankManagerBook::menuselect()//选择函数
{//功能:显示管理人员菜单选择函数
//返回:用户选择的的选项
cout <<"\n\n";
cout <<setiosflags(ios::left)
<< "1.修改管理人员密码"<< "\t2.查询银行用户信息\n"
<< "3.核对用户存钱数目"<< "\t4.删除银行账户操作\n"
<< "5.激活银行账户操作"<< "\t6.冻结银行账户操作\n"
<< "7.设置利率和利息税"<< "\t8.退出\n";
int choice;
string mystring;
do
{
cout<<"请您选择选择0~8:";
cin>>mystring;
stringstream(mystring)>>choice;
}while(!(choice==1||choice==2||choice==3||choice==4||choice==5||choice==6||choice==7||choice==8));
return choice;
}
/////////////////////////////////////////////////////////////
void BankManagerBook::handlemenu()//菜单选择函数
{//功能:根据管理人员选择的菜单选项调用不同的处理函数
while(true)
{
switch(menuselect())
{
case 1:
modifymanagercipher();
break;
case 2:
queeryuser();
break;
case 3:
setmoney();
break;
case 4:
deleteduser();
break;
case 5:
activationuser();
break;
case 6:
freezeuser();
break;
case 7:
setinterestandtax();
break;
case 8:
exit(0);
break;
}
}
}
///////////////////////////////////////////////////////////////////
void BankManagerBook::queeryuser()//查找银行账户信息
{//功能:分类查询银行账户信息
cout << "\n\n";
cout << "1.查询某个银行账户的信息\n2.查询所有银行账户信息\n3.返回上级菜单"<<endl;
int choice;
string mystring;
do
{
cout<<"请您选择选择0~3:"<<endl;
cin>>mystring;
stringstream(mystring)>>choice;
}while(!(choice==1||choice==2||choice==3));
switch(choice)
{
case 1:
{
cout << "请输入你要查询的银行账户的账号:"<<endl;
char account[20];
int j;
for(j=0;j<20;j++)
{
account[j]='\0';
}
cin >> account;
if(nouser(account))
{
cout << "该账户不存在\n";
}
else
{
Iterator it = NormalUserList::finduser(1,account,userlist.begin());
cout <<"________________________________________________________________________________";
outputuser(it);
return;
}
break;
}
case 2:
{
if(userlist.size()==0)
{
cout << "没有银行账户纪录!"<<endl;
return;
}
Iterator it;
Iterator it_end = userlist.end();
cout <<"________________________________________________________________________________";
for(it=userlist.begin(); it!=it_end; it++)
{
NormalUserList::outputuser(it);
}
break;
}
case 3:
handlemenu();
break;
}
}
////////////////////////////////////////////////////////////////////
void BankManagerBook::deleteduser()//删除银行账户
{//功能:分类删除银行账户信息
cout << "\n\n";
cout << "1.删除所有标记了待删除的用户\n2.删除某个银行账户\n3.解除某个银行账户删除标记\n4.返回上级菜单"<<endl;
int choice;
string mystring;
do
{
cout<<"请您选择选择0~4:"<<endl;
cin>>mystring;
stringstream(mystring)>>choice;
}while(!(choice==1||choice==2||choice==3||choice==4));
switch(choice)
{
case 1:
{
char pattern[20];
int j;
for(j=0;j<20;j++)
{
pattern[j]='\0';
}
Iterator it = NormalUserList::finduser(3,pattern,userlist.begin());
Iterator it_end = userlist.end();
int i=0;
while(it!=it_end)
{
i++;
outputuser(it);
it=NormalUserList::finduser(3,pattern,++it);
}
cout << "一共有"<<i<<"个用户等待删除"<<endl;
if(i!=0)
{
cout << "是否删除所有等待删除的银行账户?[Y/N]";
char chioce[2];
cin>>chioce;
Iterator its = NormalUserList::finduser(3,pattern,userlist.begin());
Iterator its_end = userlist.end();
if(chioce[0]!='n' && chioce[0]!='N')
{
while(its!=it_end)
{
its = BankManager::removeruser(its);
its = NormalUserList::finduser(3,pattern,++its);
}
saveuserandbanker();
cout << "所有等待删除的银行账户已经从文件删除掉了\n";
}
else
return;
}
else
cout << "没有银行用户等待删除\n";
break;
}
case 2:
{
cout << "请输入你要删除银行账户的账号:"<<endl;
char account[20];
int j;
for(j=0;j<20;j++)
{
account[j]='\0';
}
cin >> account;
if(nouser(account))
{
cout << "没有账户\n";
}
else
{
Iterator it;
it = NormalUserList::finduser(1,account,userlist.begin());
outputuser(it);
cout << "是否删除所有等待删除的银行账户?[Y/N]";
char chioce[2];
cin>>chioce;
if(chioce[0]!='n' && chioce[0]!='N')
{
it=BankManager::removeruser(it);
cout << "该账户已经删除成功\n" << endl;
}
}
saveuserandbanker();
break;
}
case 3:
{
cout << "请输入你要解除删除标记银行账户的账号:"<<endl;
char account[20];
int j;
for(j=0;j<20;j++)
{
account[j]='\0';
}
cin >> account;
if(nouser(account))
{
cout << "没有账户\n";
}
else
{
Iterator it = NormalUserList::finduser(1,account,userlist.begin());
if((*it)->tobedeleted == false)
cout << "该账户没有没有进行删除标记\n";
else
{
(*it)->tobedeleted = false;
cout << "该账户删除标记已经解除\n" <<endl;
}
}
saveuserandbanker();
break;
}
case 4:
handlemenu();
break;
}
}
///////////////////////////////////////////////////////////////////////////
void BankManagerBook::freezeuser()//冻结银行账户
{//功能:分类冻结银行账户信息
cout << "\n\n";
cout << "1.冻结某个银行账户\n2.解冻某个银行账户\n3.返回上级菜单" << endl;
int choice;
string mystring;
do
{
cout<<"请您选择选择0~4:"<<endl;
cin>>mystring;
stringstream(mystring)>>choice;
}while(!(choice==1||choice==2||choice==3||choice==4));
switch(choice)
{
case 1:
{
cout << "请输入你要冻结的银行账号:"<<endl;
char account[20];
int j;
for(j=0;j<20;j++)
{
account[j]='\0';
}
cin >> account;
if(nouser(account))
{
cout << "该账户不存在\n";
}
else
{
Iterator it;
it = NormalUserList::finduser(1,account,userlist.begin());
outputuser(it);
BankManager::freezeuser(it);
}
cout << "该账户已经冻结成功\n" << endl;
saveuserandbanker();
break;
}
case 2:
{
cout << "请输入你要冻结银行账户的账号:"<<endl;
char account[20];
int j;
for(j=0;j<20;j++)
{
account[j]='\0';
}
cin >> account;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -