📄 bankmanagerbook.cpp
字号:
if(nouser(account))
{
cout << "该账户不存在\n";
start();
}
else
{
Iterator it = NormalUserList::finduser(1,account,userlist.begin());
if((*it)->tobefreezed = false)
cout << "账户已经处于解冻状态" << endl;
else
{
(*it)->tobefreezed = false;
cout << "该账户已经解冻成功!" <<endl;
}
}
saveuserandbanker();
break;
}
case 3:
handlemenu();
break;
}
}
///////////////////////////////////////////////////////////////////////////
void BankManagerBook::setinterestandtax()//设置利率和利息税
{//功能:管理人员设置利率和利息税
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:
double interest;
cout << "请输入你设置的利率:(格式0.01)";
cin >> interest;
managersetinterest(interest);
saveuserandbanker();
break;
case 2:
double tax;
cout << "请输入你设置的利息税:(格式0.01)";
cin >> tax;
managersettax(tax);
saveuserandbanker();
break;
case 3:
handlemenu();
break;
}
}
/////////////////////////////////////////////////////////////////////////
void BankManagerBook::setmoney()//核对用户存钱数目
{//功能:管理人员核对用户存钱的数目 将欲存钱数 计算利息后打到余额中
char pattern[20];
int j;
for(j=0;j<20;j++)
{
pattern[j]='\0';
}
int i=0;
Iterator it = NormalUserList::finduser(4,pattern,userlist.begin());
Iterator it_end = userlist.end();
while(it!=it_end)
{
i++;
outputuser(it);
it=NormalUserList::finduser(4,pattern,++it);
}
cout << "一共有"<<i<<"个用户等待核对存钱数目"<<endl;
if(i!=0)
{
cout << "是否核对所有用户存钱银行账户?[Y/N]";
char chioce[2];
cin>>chioce;
Iterator its = NormalUserList::finduser(4,pattern,userlist.begin());
Iterator its_end = userlist.end();
if(chioce[0]!='n' && chioce[0]!='N')
{
while(its!=it_end)
{
BankManager::setmoney(its);
its = NormalUserList::finduser(4,pattern,++its);
}
saveuserandbanker();
cout << "所有银行账户的存钱数目都已经注入账户余额中\n";
}
else
return;
}
else
cout << "没有银行用户存钱\n";
}
////////////////////////////////////////////////////////////////////////
void BankManagerBook::activationuser()//激活银行账户
{//功能:激活银行账户
cout << "\n\n";
cout << "激活银行用户模块" << endl;
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:
{
char pattern[20];
int j;
for(j=0;j<20;j++)
{
pattern[j]='\0';
}
Iterator it = NormalUserList::finduser(6,pattern,userlist.begin());
Iterator it_end = userlist.end();
int i=0;
while(it!=it_end)
{
i++;
outputuser(it);
it=NormalUserList::finduser(6,pattern,++it);
}
cout << "一共有"<<i<<"个用户没有激活"<<endl;
if(i!=0)
{
cout << "是否激活所有没有激活的银行账户?[Y/N]";
char chioce[2];
cin>>chioce;
Iterator its = NormalUserList::finduser(6,pattern,userlist.begin());
Iterator its_end = userlist.end();
if(chioce[0]!='n' && chioce[0]!='N')
{
while(its!=it_end)
{
BankManager::activationuser(its);
its = NormalUserList::finduser(6,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 = NormalUserList::finduser(1,account,userlist.begin());
if((*it)->tobefreezed == true)
cout << "账户已经处于激活状态" << endl;
else
{
(*it)->tobefreezed = true;
cout << "激活该账户成功!" << endl;
}
}
saveuserandbanker();
break;
}
case 3:
handlemenu();
break;
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
void BankManagerBook::saveuserandbanker()//保存内存中银行账户链表中信息和银行管理员信息到文件
{//功能:将管理人员信息和用户信息保存到文件中去
cout << "\n\n";
ofstream of1;
of1.open("manager.txt",ios_base::out);
if(!of1)
{
cout << "不能存入文件!" <<endl;
return;
}
BankManagerBook::savebanker(of1);
of1.close();
ofstream of2;
of2.open("userlist.txt",ios_base::out);
if(!of2)
{
cout << "不能存入文件!" <<endl;
return;
}
NormalUserList::saveuserlist(of2);
of2.close();
}
//////////////////////////////////////////////////////////////////////////////
void BankManagerBook::loaduserandbanker()//读取文件中银行账户和银行管理员
{//功能:读取文件中的管理人员信息和用户信息
ifstream in1;
in1.open("manager.txt",ios_base::in);
if(!in1)
{
cout << "\n没有银行管理人员信息文件!" <<endl;
cout << "重新建立银行管理人员信息!" <<endl;
newmanager();
}
else
{
cout << "manager.txt文件载入成功!、";
BankManagerBook::loadbanker(in1);
}
in1.close();
ifstream in2;
in2.open("userlist.txt",ios_base::in);
if(!in2)
{
cout << "\n文件不存在!" <<endl;
return;
}
NormalUserList::loaduserlist(in2);
in2.close();
}
///////////////////////////////////////////////////////////////
void BankManagerBook::modifymanagercipher()//修改管理人员密码
{//功能:修改管理人员的密码
cout<< "请输入你的原始密码:";
char c,cipher[20];
int k=0,i=0;
for(k=0;k<20;k++)
{
cipher[k]='\0';
}
c=getch();
while(c != '\r')
{
if(i >= 0)
{
if (c == '\b')
{
cout<<"\b \b";
i = i - 1;
}
else
{
cout<<"*";
cipher[i] = c;
}
}
c = getch();
if(c != '\b')
i = i + 1;
}
if(banker.cipher != cipher)
cout << "原始密码输入错误\n";
else
{
cout<< "\n请输入你的新密码:";
char c,cipher[20];
int k=0,i=0;
for(k=0;k<20;k++)
{
cipher[k]='\0';
}
c=getch();
while(c != '\r')
{
if(i >= 0)
{
if (c == '\b')
{
cout<<"\b \b";
i = i - 1;
}
else
{
cout<<"*";
cipher[i] = c;
}
}
c = getch();
if(c != '\b')
i = i + 1;
}
cout<<"\n新密码为:"<<cipher;
BankManager::modifymanagercipher(cipher);
saveuserandbanker();
}
}
///////////////////////////////////////////////////////////////////////////////////
void BankManagerBook::newmanager()/// 新建管理人员账户
{//功能:在没有管理人员账户的时候 新建管理人员账户
cout << "\n调用新建银行管理人员模块" << endl;
string account;
double interest,tax;
cout << "\n请输入银行管理人员账号:";
cin >> account;
cout << "请输入管理人员密码:";
char c,cipher[20];
int k=0,i=0;
for(k=0;k<20;k++)
{
cipher[k]='\0';
}
c=getch();
while(c != '\r')
{
if(i >= 0)
{
if (c == '\b')
{
cout<<"\b \b";
i = i - 1;
}
else
{
cout<<"*";
cipher[i] = c;
}
}
c = getch();
if(c != '\b')
i = i + 1;
}
interest=tax=0;
BankManager::setmanager(account,cipher,interest,tax);
cout <<"\n初始利息和利息税为0"<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -