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

📄 bankmanagerbook.cpp

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