银行账户管理程序文件.docx
《银行账户管理程序文件.docx》由会员分享,可在线阅读,更多相关《银行账户管理程序文件.docx(30页珍藏版)》请在冰豆网上搜索。
银行账户管理程序文件
....
/*银行账户管理
问题描述
设计一个银行账户管理程序,账户的信息有账号(唯一)、、余额、身份证、单位、、
地址等,允许用户进行如下操作:
开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,
账户的数值没有上限。
*/
#include
#include
#include
usingnamespacestd;
classconsumer;
classYH//银行类
{
public:
voidset_account();//银行开户功能
voiddel_account();//注销账户功能
voidtransfer(int);//转账功能
voidenter_account();//进入用户个人信息功能
voidaddmoney(int,float);//存款功能
voidexitYH();//退出系统
voidfunctionshow();
voidsave();
voidload();//功能界面
protected:
consumer*account[20];
staticintacnum;//账户数
};
classconsumer:
publicYH//用户类,继承银行类的属性
{
public:
friendclassYH;
consumer(intid,stringName,stringPassWord,floatm)
{
ID=id;name=Name;money=m;passwd=PassWord;
}
consumer(){ID=0;name='0';money=0;passwd='0';}
intget_id(){returnID;}
voidsavemoney();//取钱
stringget_passwd(){returnpasswd;}//取得密码
voiddisplay();
voidfetchmoney();//取钱
voidchange_passwd();
.专业资料.
....
voidadd_money(float);
voiddec_money(float);
floatget_money();//卡卡转帐
private:
intID;//开户帐号
stringpasswd;//用户密码
stringname;//用户
floatmoney;//开户金额
};
voidYH:
:
save()
{ofstreamofile("bankdat.dat",ios:
:
out);
ofstreamoutfile("bankdat.dat",ios:
:
out);
intn=0;
outfile<for(n=0;n{outfile<ID<<"";
outfile<money<<"";
outfile<name<<"";
outfile<passwd<<"";
}
outfile.close();
}
/*读入用户信息功能实现*/
voidYH:
:
load()
{ifstreaminfile("bankdat.dat",ios:
:
in);
if(!
infile)
{cerr<<"读取错误,无资料中!
"<return;
}
intn=0;
intid,m;
stringnam,passw;
infile>>acnum;
for(n=0;n{infile>>id;
infile>>m;
infile>>nam;
infile>>passw;account[n]->passwd;
consumer*acc=newconsumer(id,nam,passw,m);
account[n]=acc;
}
.专业资料.
....
infile.close();
cout<<"读取资料正常!
"<}
/*转账功能实现*/
voidYH:
:
transfer(intx)
{intid;
cout<<"请输入帐号:
";
cin>>id;
intflag=1;
inti=0;
while((i{
if(id==account[i]->get_id())flag=0;elsei++;
}
if(flag)
{
cout<<"帐号不存在!
"<return;
}
floatb;
cout<";
cin>>b;
while(b<=0)
{
cout<<"请输入正确的数字!
"<cout<<"→";
cin>>b;
}
if(account[x]->get_money()
!
"<else{account[x]->dec_money(b);account[i]->add_money(b);}
return;
}
/*账户金额计算*/
voidconsumer:
:
add_money(floatx)
{money=x+money;}
voidconsumer:
:
dec_money(floatx)
{money=money-x;}
voidYH:
:
addmoney(intx,floaty)
.专业资料.
....
{account[x]->money=account[x]->money-y;
}
floatconsumer:
:
get_money()
{returnmoney;}
voidmain()
{YHyh;
yh.functionshow();
}
/*主界面显示*/
voidYH:
:
functionshow()
{
intn;
do
{system("cls");load();
cout<"<cout<<"㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣
"<cout<<"㊣
㊣"<cout<<"㊣
1.
开户
㊣"<cout<<"㊣
㊣"<cout<<"㊣
2.
账户登录
㊣"<cout<<"㊣
㊣"<cout<<"㊣
3.
账户注销
㊣"<cout<<"㊣
㊣"<cout<<"㊣
4.
退出系统
㊣"<cout<<"㊣
㊣"<cout<<"㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣
"<cout<<"→";
cin>>n;
while(n<1||n>4)
{
cout<<"操作错误,请输入正确的操作序号!
"<cout<<"→";
cin>>n;
}
switch(n)
{
case1:
set_account();//开户
break;
case2:
enter_account();//登录
break;
case3:
del_account();//注销
.专业资料.
....
break;
case4:
exitYH();//退出
break;
}
cin.get();
}
while(true);
}
voidYH:
:
enter_account()
{intid;
cout<<"请输入帐号:
";
cin>>id;
intflag=1;
inti=0;//__page_break__
while((i{
if(id==account[i]->get_id())flag=0;elsei++;
}
if(flag)
{
cout<<"帐号不存在!
"<return;
}
cout<<"请输入密码:
";
stringpassw;
cin>>passw;
if(passw!
=account[i]->get_passwd())return;
account[i]->display();cin.get();cin.get();
intn;
do{system("cls");
cout<<"请选择下列操作:
"<cout<<"◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎
"<cout<<"◎
◎"<cout<<"◎
1.
查看账户信息
◎"<cout<<"◎
◎"<cout<<"◎
2.
取款
◎"<cout<<"◎
◎"<cout<<"◎
3.
存款
◎"<cout<<"◎
◎"<cout<<"◎
4.
修改密码
◎"<cout<<"◎
◎"<cout<<"◎
5.
转账
◎"<cout<<"◎
◎"<
.专业资料.
....
cout<<"◎6.返回上一菜单◎"<cout<<"◎◎"<cout<<"◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎"<cout<<"→";
cin>>n;
switch(n)
{case1:
account[i]->display();break;
case2:
account[i]->fetchmoney();save();break;
case3:
account[i]->savemoney();save();break;
case4:
account[i]->change_passwd();save();break;
case5:
transfer(i);save();break;
case6:
return;
}cin.get();cin.get();
}
while
(1);
}
voidYH:
:
set_account()
{
intid;
stringnam;
stringpassw;
floatm;
cout<";
cin>>id;
cout<";
cin>>nam;
cout<";
cin>>passw;
cout<";
cin>>m;
while(m<=0)
{
cout<<"请输入正确的数字!
"<cin>>m;
}
consumer*acc=newconsumer(id,nam,passw,m);
account[acnum]=acc;
cout<<"开户成功!
!
"<acnum++;
.专业资料.
....
save();
cin.get();
return;
}
voidYH:
:
del_account()
{
intid;
cout<";
cin>>id;
intflag=1;
inti=0;
while((i{
if(id==account[i]->get_id())
{
flag=0;
}
else
{
i++;
}
}
if(flag)
{
cout<<"该帐号不存在,请重新输入!
"<return;
}
for(intj=i;j{
account[j]=account[j+1];
}
account[acnum-1]=NULL;
acnum--;
cout<<"你的账号已注销!
!
"<save();
cin.get();
return;
}
.专业资料.
....
voidconsumer:
:
change_passwd()
{
stringpwd,repwd;
cout<<"请输入新密码:
";
cin>>pwd;
cout<<"请再输入一次新密码:
";
cin>>repwd;
if(pwd!
=repwd)
cout<<"你输入的两次密码不一样,按输入键返回上一层菜单!
"<else
cout<<"密码修改成功,请牢记!
"<}
voidconsumer:
:
fetchmoney()
{
floatm;
charch;
do
{
cout<"<<"¥>"<cin>>m;
while(m<=0)
{
cout<<"请输入正确的数字!
"<cout<<"→";
cin>>m;
}
if(money{
cout<<"对不起,你的余额不足!
"<}
else
{money=money-m;
cout<"
<
}
cout<<"是否要继续该项操作:
(Y/N)"
<cout<<"→";
cin>>ch;
while(ch!
='n'&&ch!
='N'&&ch!
='Y'&&ch!
='y')//选择错误时判定
{
cout<<"→";
.专业资料.
....
cin>>ch;
}
}while(ch=='y'||ch=='Y');
}
voidconsumer:
:
savemoney()//存钱函数功能实现
{
floatc;
charch;
do
{
cout<"<<"¥>"<cin>>c;
while(c<=0)
{
cout<<"输入错误,请重新输入!
"<cout<<"→";
cin>>c;
}
money=money+c;
cout<<"操作已成功!
"<cout<<"是否要继续该项操作:
(Y/N)"<cout<<"→";
cin>>ch;
while(ch!
='n'&&ch!
='N'&&ch!
='Y'&&ch!
='y')
{
cout<<"→";
cin>>ch;
}
}while(ch=='y'||ch=='Y');
}
intYH:
:
acnum=0;
voidconsumer:
:
display()//用户信息界面
{system("cls");
cout<<"#####################################"<cout<<"#"<cout<<"#用户:
"<cout<<"#"<cout<<"#帐号:
"<cout<<"#"<cout<<"#余额:
"<cout<<"#"<cout<<"#按输入键回到上一菜单"<cout<<"#"<
.专业资料.
....
cout<<"#####################################"<cout<<"→";
}
voidYH:
:
exitYH()//退出系统
{
cout<"<exit(0);
}
.专业资料.