银行帐户管理程序功能完善版.docx
- 文档编号:8447191
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:22
- 大小:18.93KB
银行帐户管理程序功能完善版.docx
《银行帐户管理程序功能完善版.docx》由会员分享,可在线阅读,更多相关《银行帐户管理程序功能完善版.docx(22页珍藏版)》请在冰豆网上搜索。
银行帐户管理程序功能完善版
//2.cpp:
定义控制台应用程序的入口点。
//
#include"stdafx.h"
#include
#include
#include
#include
#include
#include
#include
usingnamespacestd;
classconsumer;
classYH//银行类
{
public:
voidset_account();//银行开户功能
voiddel_account();//注销账户功能
voidtransfer(int);//转账功能
voidenter_account();//进入用户个人信息功能
voidaddmoney(int,float);//存款功能
voidexitYH();//退出系统
voidfunctionshow();
voidsave();
voidload();//功能界面
consumer*account[1000];
staticintacnum;//账户数
};
classconsumer:
publicYH//用户类,继承银行类的属性
{
public:
friendclassYH;
consumer(intid,stringName,stringPassWord,floatm,intidcard,intphone,intcunqian,
chartmp[100],intquqian,chartmp1[100],intzhuanzhang,chartmp2[100])
{
ID=id;name=Name;money=m;passwd=PassWord;idc=idcard;pho=phone;
cq=cunqian;
qq=quqian;
zz=zhuanzhang;
strcpy_s(TMP,tmp);
strcpy_s(TMP1,tmp);
strcpy_s(TMP2,tmp);
}
consumer()
{ID=0;name='0';money=0;passwd='0';idc=0;pho=0;cq=0;strcpy_s(TMP,"0");qq=0;strcpy_s(TMP1,"0");zz=0;strcpy_s(TMP2,"0");}//构造函数初始化
intget_id()
{returnID;}
intget_idcard()
{returnidc;}
intget_phone()
{returnpho;}
voidsavemoney();//存钱
stringget_passwd(){returnpasswd;}//取得密码
voiddisplay();//个人信息界面
voiddisplay1();//查询记录界面
voiddisplay2();
voiddisplay3();
voiddisplay4();
voidfetchmoney();//取钱
voidchange_passwd();
voidadd_money(float);
voiddec_money(float);
floatget_money();//卡卡转帐
private:
intID;//开户帐号
stringpasswd;//用户密码
stringname;//用户姓名
floatmoney;//开户金额
intidc;
intpho;
charTMP[100],TMP1[100],TMP2[100];
intcq,qq,zz;
};
voidYH:
:
save()
{ofstreamofile("bankdat.dat",ios:
:
out);
ofstreamoutfile("bankdat.dat",ios:
:
out);
intn=0;
outfile< for(n=0;n {outfile< outfile< outfile< outfile< outfile< outfile< outfile< outfile< outfile< outfile< outfile< outfile< } outfile.close(); } /*读入用户信息功能实现*/ voidYH: : load() {ifstreaminfile("bankdat.dat",ios: : in); if(! infile) {cerr<<"读取错误,无资料中! "< return; } intn=0; intid,cunqian,quqian,zhuanzhang;intm,idcard,phone;chartmp[100],tmp1[100],tmp2[100]; stringnam,passw; infile>>acnum; for(n=0;n {infile>>id; infile>>m; infile>>nam; infile>>passw; infile>>idcard; infile>>phone; infile>>cunqian; infile>>quqian; infile>>zhuanzhang; infile>>tmp; infile>>tmp1; infile>>tmp2; account[n]->passwd; consumer*acc=newconsumer(id,nam,passw,m,idcard,phone,cunqian,tmp,quqian,tmp1,zhuanzhang,tmp2); 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); account[x]->zz=b; time_tt3=time(0);//time_t是结构体,包含在time.h中, strftime(account[x]->TMP2,sizeof(account[x]->TMP2),"%Y/%m/%d%X%A",localtime(&t3)); size_tstrftime(char*strDest,size_tmaxsize,constchar*format,conststructtm*timeptr); cout<<"转账成功! "< } for(intj=0;j<=1000000000;j++){};//延时功能 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; consumerc1; yh.functionshow(); } /*主界面显示*/ voidYH: : functionshow() { doublen; intt; 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; } while (1) { if(n-(int)n==0) {t=n;break;} else{cout<<"操作错误,请输入正确的操作序号! "< cout<<"→"; cin>>n;} } switch(t) { 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()) {cout<<"密码错误,请重新操作! "; for(intj=0;j<=1000000000;j++){};//延时功能 return;} account[i]->display(); cin.get();cin.get(); doublen; intt,r; 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<<"7.返回上一菜单"< cout<<"**************************************************"< cout<<"→"; cin>>n; while(n<1||n>7) { cout<<"操作错误,请输入正确的操作序号! "< cout<<"→"; cin>>n; } while (1) { if(n-(int)n==0) {t=n;break;} else{cout<<"操作错误,请输入正确的操作序号! "< cout<<"→"; cin>>n;} } switch(t) {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: account[i]->display1(); {cin>>r; switch(r) {case1: account[i]->display2();break; case2: account[i]->display3();break; case3: account[i]->display4();break; case4: return;} }break; case7: return; }cin.get();cin.get(); } while (1); } voidYH: : set_account()//开户 { intid,cunqian,quqian,zhuanzhang; chartmp[100],tmp1[100],tmp2[100]; stringnam; stringpassw; floatm; intidcard,phone; intflag=1; inti=0; cout< "< cin>>id; while((i { if(id==account[i]->get_id()) { flag=0; cout<<"该帐号已存在,请重新输入! "< for(intj=0;j<=1000000000;j++){};//延时功能 return; } else {i++; } } cout< "; cin>>nam; cout< "; cin>>passw; cout< "; cin>>m; while(m<=0) { cout<<"请输入正确的数字! "< cin>>m; } cout< "; cin>>idcard; cout< "; cin>>phone; cunqian=0; time_tt1=time(0);//time_t是结构体,包含在time.h中, strftime(tmp,sizeof(tmp),"%Y/%m/%d%X%A",localtime(&t1)); size_tstrftime(char*strDest,size_tmaxsize,constchar*format,conststructtm*timeptr); quqian=0; time_tt2=time(0);//time_t是结构体,包含在time.h中, strftime(tmp1,sizeof(tmp1),"%Y/%m/%d%X%A",localtime(&t2)); size_tstrftime(char*strDest,size_tmaxsize,constchar*format,conststructtm*timeptr); zhuanzhang=0; time_tt3=time(0);//time_t是结构体,包含在time.h中, strftime(tmp2,sizeof(tmp2),"%Y/%m/%d%X%A",localtime(&t3)); size_tstrftime(char*strDest,size_tmaxsize,constchar*format,conststructtm*timeptr); consumer*acc=newconsumer(id,nam,passw,m,idcard,phone,cunqian,tmp,quqian,tmp1,zhuanzhang,tmp2); 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<<"该帐号不存在,请重新操作! "< for(intj=0;j<=1000000000;j++){};//延时功能 return; } cout<<"请输入密码: "; stringpassw; cin>>passw; if(passw! =account[i]->get_passwd()) {cout<<"密码或账号错误,请重新操作! "; for(intj=0;j<=1000000000;j++){};//延时功能 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<<"密码修改成功,请牢记! "< passwd=repwd; } cin.get(); } voidconsumer: : fetchmoney()//取钱函数 { floatm; charch; do { cout< "<<"¥>"< cin>>m; while(m<=0) { cout<<"请输入正确的数字! "< cout<<"→"; cin>>m; } if(money { cout<<"对不起,你的余额不足! "< } else {money=money-m; qq=m; time_tt2=time(0);//time_t是结构体,包含在time.h中, strftime(TMP1,sizeof(TMP1),"%Y/%m/%d%X%A",localtime(&t2)); size_tstrftime(char*strDest,size_tmaxsize,constchar*format,conststructtm*timeptr); 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()//存钱函数功能实现 { char
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行帐户 管理程序 功能 完善