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

📄 normaluserbook.cpp

📁 呵呵 就是大学二年级的我的课程设计啦
💻 CPP
字号:
#include"NormalUserBook.h"
//////////////////////////////////
NormalUserBook::NormalUserBook()
{
	system("cls");
	loaduserlist();
	start();
}
//////////////////////////////////
NormalUserBook::~NormalUserBook()
{
}
///////////////////////////////////////////////////////
void NormalUserBook::start()//银行用户开始函数
{//功能:银行用户模块开始
	cout << "1已有银行账户登陆  2新建一个银行账户  3结束运行\n";
	cout << "4显示所用银行账户资料(测试软件使用) ";
	int choice;
	string mystring;
    do 
	{
		cout<<"请您选择选择0~4:";
        cin>>mystring;
        stringstream(mystring)>>choice;
	}while(!(choice == 1 || choice == 2 || choice == 3 || choice == 4));
	switch(choice)
	{
	case 1:
		handlemenu();
		break;
    case 2:
		adduser();
		saveuserlist();
    	start();
		break;
	case 4:
		outputuser();
		start();
		break;
    case 3:
		saveuserlist();
		exit(0);
	}
}
//////////////////////////////////////////////////////////////////////////////////////////
int NormalUserBook::menuselect()//用户菜单选择函数
{//功能:显示用户菜单选择函数
 //返回:用户选择的的选项
	cout << "\n欢迎您的使用!";
	cout << "\n1.取钱  2.存钱  3.修改密码  4.查询账户  5.删除账户  6.退出银行账户"<<endl;
	int choice;
	string mystring;
    do 
	{
		cout<<"请您选择选择1~6:"<<endl;
        cin>>mystring;
        stringstream(mystring)>>choice;
	}while(!(choice==1||choice==2||choice==3||choice==4||choice==5||choice==6));
	return choice;
}
/////////////////////////////////////////////////////
void NormalUserBook::handlemenu()//银行用户 菜单选择
{//功能:验证是否存在账户
 //      验证密码
 //      验证用户是否冻结 
 //      根据管理人员选择的菜单选项调用不同的处理函数
	cout << "请输入你的银行账号:";
	char account[20];
    int j;
    for(j=0;j<20;j++)
	{
		account[j]='\0';
	}
	cin >> account;
	if(nouser(account))
	{
		system("cls");
		cout << "银行账号" << account << "不存在!\n\n";
		start();
	}
	else if(freezed(account))
	{
		system("cls");
		cout << "银行账号" << account << "已经被冻结!\n\n";
		start();
	}
	else if(!activation(account))
	{
		system("cls");
		cout << "银行账号" << account << "请您等待管理人员帮你激活!\n\n";
		start();
	}
	if(checked(account))
	{
		cout<<endl;
		while(true)
		{
			switch(menuselect())
			{
			case 1:
				popmoney(account);
			    break;
            case 2:
			    pushmoney(account);
			    break;
            case 3:
			    modifycipher(account);
			    break;
            case 4:
				{
			    Iterator it;
				it = finduser(1,account,userlist.begin());
				cout <<"________________________________________________________________________________";
				NormalUserList::outputuser(it);
			    break;
				}
            case 5:
			    marketdeleteduser(account);
			    break;
            case 6:
				system("cls");
			    start();
			    break;
			}
				
		}
	}
	else 
	{
		cout << "\n密码错误或银行账号错误银行账号!\n" << endl;
		start();
	}
}
/////////////////////////////////////////////////////
void NormalUserBook::adduser()//银行用户 新建银行账户
{//功能:新建银行账户 将信件的用户添加入链表
	cout << "\n请输入你的银行账号:";
	char account[20];
	cin >> account;
    User* rec = new User;
	rec->account = account;
	cout << "请输入你的姓名:";
	char temp[20];
	cin >> temp;
	rec->name = temp;
	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;
    }
	cout << "\n请输入现在的时间(格式06/12/01):";
	cin>>rec->time;
	rec->cipher = cipher;
	rec->depositmoney = 0;
	rec->remainingmoney = 0;
	rec->tobedeleted = false;
	rec->tobedopsited = false;
	rec->tobefreezed = false;
	rec->activation =false;
	NormalUserList::adduser(rec);
	cout<<endl;
}
//////////////////////////////////////////////////////////////////////////////
void NormalUserBook::marketdeleteduser(char account[])//银行用户 进行删除标记
{//功能:标记“待删除”指定关键字的account银行用户
 //参数:关键字account银行账户
	 Iterator it;
     it = finduser(1,account,userlist.begin());
	 NormalUserList::markectdeleteduser(it);
	 cout<<"你成功对你的账户进行删除标记!"<<endl
		 <<"你的余额将上缴国库!感谢你对国家做出的贡献!"<<endl;
}
////////////////////////////////////////////////////////////////////////////
void NormalUserBook::modifycipher(char account[])//银行用户修改银行账户密码
{//功能:修改指定关键字的account银行用户的密码
 //参数:关键字account银行账户
	 Iterator it;
     it = finduser(1,account,userlist.begin());
	 NormalUserList::modifycipher(it);
}
/////////////////////////////////////////////////////////////
void NormalUserBook::pushmoney(char account[])//银行用户 存钱
{//功能:指定关键字的account银行用户的存钱操作
 //参数:关键字account银行账户
	 Iterator it;
     it = finduser(1,account,userlist.begin());
	 cout << "请输入你要存钱的数目:";
	 double money;
	 cin >> money;
	 cout <<"你已经存入"<<money<<"到你的账户中"<<endl
		  <<"等待管理人员审核你的存钱数目\n";
	 NormalUserList::pushmoney(it,money);
}
/////////////////////////////////////////////////////////////
void NormalUserBook::popmoney(char account[])//银行用户 取钱
{//功能:指定关键字的account银行用户的取钱操作
 //参数:关键字account银行账户
	 Iterator it;
     it = finduser(1,account,userlist.begin());
	 cout << "请输入你要取钱的数目:";
	 double money;
	 cin >> money;
	 if((*it)->remainingmoney < money)
		 cout << "你的余额不够!"<<endl;
	 else
	 {
		 NormalUserList::popmoney(it,money);
		 cout<<"你成功取款"<<money<<"元"<<endl;
	 }
}
///////////////////////////////////////////////////////////////////////
void NormalUserBook::saveuserlist()//保存内存链表中的银行用户信息到文件
{//功能:保存内存链表中的银行用户信息到文件
    ofstream of;
	of.open("userlist.txt",ios_base::out);
	if(!of)
	{
		cout << "不能存入文件!" <<endl;
		return;
	}
	NormalUserList::saveuserlist(of);
	of.close();

}
/////////////////////////////////////////////////////////////////////////
void NormalUserBook::loaduserlist()//读取文件中银行用户的信息到内存链表中
{//功能:读取文件中银行用户的信息到内存链表中
    ifstream in;
	in.open("userlist.txt",ios_base::in);
	if(!in)
	{
		cout << "\n文件不存在!" <<endl;
		start();
	}
    NormalUserList::loaduserlist(in);
	in.close();
}
/////////////////////////////////////////////////////////////
void NormalUserBook::outputuser()//输出所用银行账户信息
{///功能:输出所用银行账户信息
	 cout << "显示所用银行账户信息 供测试使用"<<endl;
	 if(userlist.size()==0)
	 {
		 cout << "没有银行账户纪录!"<<endl;
			 return;
	 }
	 cout <<"________________________________________________________________________________";
	 Iterator it;
	 Iterator it_end = userlist.end();
	 for(it=userlist.begin(); it!=it_end; it++)
		 NormalUserList::outputuser(it);
}






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -