银行账户管理程序.docx
- 文档编号:4856410
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:13
- 大小:16.83KB
银行账户管理程序.docx
《银行账户管理程序.docx》由会员分享,可在线阅读,更多相关《银行账户管理程序.docx(13页珍藏版)》请在冰豆网上搜索。
银行账户管理程序
/*银行账户管理
问题描述
设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、
地址等,允许用户进行如下操作:
开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,
账户的数值没有上限。
*/
#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< outfile< outfile< outfile< } 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); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 账户 管理程序