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

📄 bankmanagerbook.cpp

📁 呵呵 就是大学二年级的我的课程设计啦
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#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 + -