📄 normaluserbook.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 + -