📄 bankmanager.cpp
字号:
#include"BankManager.h"
//////////////////////////////////////////////////////////////////////////////
void BankManager::setmanager(string account,char cipher[],double interest,double tax)//新建银行账户
{//功能:新建一个管理人员账户
//参数:用户输入的账号 密码 利率 利息税
banker.account = account;
banker.cipher = cipher;
banker.interest = interest;
banker.interest_tax = tax;
ofstream of1;
of1.open("manager.txt",ios_base::out);
if(!of1)
{
cout << "不能存入文件!" <<endl;
return;
}
BankManager::savebanker(of1);
of1.close();
}
//////////////////////////////////////////////////////////////////////////////
void BankManager::modifymanagercipher(string newcipher)//设置管理人员密码函数
{//功能:修改管理人员的密码
//参数:输入的新密码
banker.cipher = newcipher;
}
//////////////////////////////////////////////////////////////////////////////////
void BankManager::managersettax(double tax)//设置利息税率函数
{//功能:设置利息税率
//参数:管理人员输入的tax
banker.interest_tax = tax;
}
////////////////////////////////////////////////////////////////////////////////
void BankManager::managersetinterest(double interest)//设置利率函数
{//功能:设置利率
//参数:管理人员输入的interest
banker.interest = interest;
}
////////////////////////////////////////////////////////////////////////////////
void BankManager::freezeuser(NormalUserList::Iterator it)//冻结用户函数
{//功能:冻结it指向的银行在账户
//参数:it指向银行账户链表中一个接点的指针
if((*it)->tobefreezed = true)
cout << "该账户已经被冻结删"<<endl;
else (*it)->tobefreezed = true;
}
////////////////////////////////////////////////////////////////////////////////
void BankManager::setmoney(NormalUserList::Iterator it)//核对用户存钱数目
{//功能:将it指定用户中的“欲存钱数”打入用户的余额中
//参数:it指向银行账户链表中一个接点的指针
if((*it)->tobedopsited == false)
cout << "用户没有存钱" <<endl;
else
{
double interest = ((*it)->remainingmoney + (*it)->depositmoney)*banker.interest;
double interest_tax = interest*banker.interest_tax;
(*it)->remainingmoney = (*it)->remainingmoney + (*it)->depositmoney + interest - interest_tax;
(*it)->depositmoney = 0;
(*it)->tobedopsited = false;
}
}
/////////////////////////////////////////////////////////////////////////////
void BankManager::activationuser(NormalUserList::Iterator it)//激活用户函数
{//功能:激活it指定的银行用户
//参数:it指向银行账户链表中一个接点的指针
if((*it)->activation = true)
cout << (*it)->account << "账户已经被激活"<<endl;
else
{
(*it)->activation = true;
cout << (*it)->account << "账户已经被激活"<<endl;
}
}
//////////////////////////////////////////////////////////////////////////
bool BankManager::nomanager(char pattern[])//判断管理人员账号是否存在
{//功能:认证是否存在管理人员的账号
//参数:用户输入的管理人员账号
//返回布尔值
if(pattern==banker.account)
return false;
else
return true;
}
/////////////////////////////////////////////////////////////////////////////
bool BankManager::checkmanager()//认证管理员函数
{//功能:认证密码是否正确
//参数:用户输入的管理人员账号
//返回:布尔值
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)
return true;
else
return false;
}
///////////////////////////////////////////////////////////////////////////////////////////////
NormalUserList::Iterator BankManager::removeruser(NormalUserList::Iterator it)//删除一个银行账户
{//功能:删除一个银行账户
//参数:it指向银行用户链表中的一个节点指针
//返回:被删除节点的后一节点
return userlist.erase(it);
}
/////////////////////////////////////////////////////////////////////////////////////
void BankManager::savebanker(ostream &os)//保存管理人员信息到文件
{//功能:保存管理人员的信息到文件manager.txt
//参数:文件输出流os
os << setiosflags(ios::left)
<< setw(16) << banker.account
<< setw(16) << banker.cipher
<< setw(4) << banker.interest
<< setw(4) << banker.interest_tax;
}
////////////////////////////////////////////////////////////////////////////////
void BankManager::loadbanker(istream &is)//读取文件中管理人员信息
{//功能:读取文件manager.txt中管理人员的信息
//参数:文件输入流os
is >> setiosflags(ios::left)
>> setw(16) >> banker.account
>> setw(16) >> banker.cipher
>> setw(4) >> banker.interest
>> setw(4) >> banker.interest_tax;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -