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

📄 bankmanager.cpp

📁 呵呵 就是大学二年级的我的课程设计啦
💻 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 + -