c银行账户管理课程设计Word下载.docx
- 文档编号:7928330
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:22
- 大小:249.73KB
c银行账户管理课程设计Word下载.docx
《c银行账户管理课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《c银行账户管理课程设计Word下载.docx(22页珍藏版)》请在冰点文库上搜索。
从登录界面得到帐号,并提供数据输入界面,等待用户的输入存款金额,同时将存钱的金额显示在页面上。
5.取款页面:
从登录界面得到帐号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上。
6.账户信息页面:
从登录界面得到帐号,把本人显示到界面中。
7.转账页面:
从登录界面得到帐号,输入要转入的帐号,在输入金额,显示在页面上,如果金额超过余额将操作失败。
8.注销页面:
从关闭文件,状态为注销,最后关闭整个系统。
三、程序设计介绍
系统由2个类构成,YH(银行类)和Consumer(客户类),Consumer(客户类)是YH(银行类)的公有继承类。
YH(银行类)中有实现登陆系统,开户,销户,转账,退出系统等功能函数,Consumer(客户类)中有实现存钱,取钱,修改个人账号密码,显示个人账号信息等功能函数。
因为Consumer(客户类)是YH(银行类)的公有继承类,所以,一个用户只需创建一个Consumer(客户类)对象,当用户进行开户,销户等操作时,可以直接调用YH(银行类)的成员函数。
银行类中的函数:
voidset_account();
//银行开户功能
voiddel_account();
//注销账户功能
voidtransfer(int);
//转账功能
voidenter_account();
//进入用户个人信息功能
voidaddmoney(int,float);
//存款功能
voidexitYH();
//退出系统
四、框架结构图
五、程序代码
#include<
iostream>
#include<
string>
fstream>
usingnamespacestd;
classconsumer;
classYH//银行类
{
public:
//银行开户功能
voidfunctionshow();
voidsave();
voidload();
//功能界面
protected:
consumer*account[20];
staticintacnum;
//账户数
};
classconsumer:
publicYH//用户类,继承银行类的属性
friendclassYH;
consumer(intid,stringName,stringPassWord,floatm)
{
ID=id;
name=Name;
money=m;
passwd=PassWord;
}
consumer(){ID=0;
name='
0'
;
money=0;
passwd='
}
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("
intn=0;
outfile<
<
acnum<
"
"
for(n=0;
n<
acnum;
n++)
{outfile<
account[n]->
ID<
money<
name<
passwd<
outfile.close();
/*读入用户信息功能实现*/
load()
{ifstreaminfile("
in);
if(!
infile)
{cerr<
读取错误,无资料中!
endl;
return;
intid,m;
stringnam,passw;
infile>
>
{infile>
id;
m;
nam;
passw;
passwd;
consumer*acc=newconsumer(id,nam,passw,m);
account[n]=acc;
infile.close();
cout<
读取资料正常!
/*转账功能实现*/
transfer(intx)
{intid;
请输入帐号:
cin>
intflag=1;
inti=0;
while((i<
acnum)&
&
(flag))
{
if(id==account[i]->
get_id())flag=0;
elsei++;
}
if(flag)
帐号不存在!
endl<
return;
floatb;
cout<
请输入你要转帐的金额:
cin>
b;
while(b<
=0)
请输入正确的数字!
→"
if(account[x]->
get_money()<
b)cout<
对不起,金额不够!
!
else{account[x]->
dec_money(b);
account[i]->
add_money(b);
/*账户金额计算*/
voidconsumer:
add_money(floatx)
{money=x+money;
dec_money(floatx)
{money=money-x;
addmoney(intx,floaty)
{account[x]->
money=account[x]->
money-y;
floatconsumer:
get_money()
{returnmoney;
voidmain()
{YHyh;
yh.functionshow();
/*主界面显示*/
functionshow()
intn;
do
{system("
cls"
);
load();
请输入相应的操作序号进行操作:
㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣㊣"
㊣㊣"
㊣1.开户㊣"
㊣2.账户登录㊣"
㊣3.账户注销㊣"
㊣4.退出系统㊣"
n;
while(n<
1||n>
4)
{
操作错误,请输入正确的操作序号!
switch(n)
case1:
set_account();
//开户
break;
case2:
enter_account();
//登录
break;
case3:
del_account();
//注销
case4:
exitYH();
//退出
cin.get();
while(true);
enter_account()
//__page_break__
请输入密码:
stringpassw;
if(passw!
=account[i]->
get_passwd())return;
display();
cin.get();
intn;
do{system("
请选择下列操作:
◎☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆◎"
◎◎"
◎1.查看账户信息◎"
◎2.取款◎"
◎3.存款◎"
◎4.修改密码◎"
◎5.转账◎"
◎6.返回上一菜单◎"
switch(n)
{case1:
account[i]->
break;
case2:
fetchmoney();
save();
case3:
savemoney();
case4:
change_passwd();
case5:
transfer(i);
case6:
}cin.get();
while
(1);
set_account()
intid;
stringnam;
stringpassw;
floatm;
cout<
请输入开户号:
请输入开户人姓名:
请输入开户密码:
请输入存入金额:
while(m<
account[acnum]=acc;
开户成功!
acnum++;
del_account()
请输入你要注销的帐户号:
if(id==account[i]->
get_id())
flag=0;
else
i++;
该帐号不存在,请重新输入!
for(intj=i;
j<
j++)
account[j]=account[j+1];
account[acnum-1]=NULL;
acnum--;
你的账号已注销!
change_passwd()
stringpwd,repwd;
请输入新密码:
pwd;
请再输入一次新密码:
repwd;
if(pwd!
=repwd)
你输入的两次密码不一样,按输入键返回上一层菜单!
else
密码修改成功,请牢记!
fetchmoney()
floatm;
charch;
输入取款金额:
¥>
endl;
if(money<
m)
对不起,你的余额不足!
else
{money=money-m;
操作成功,请收好钱!
是否要继续该项操作:
(Y/N)"
ch;
while(ch!
='
n'
ch!
N'
Y'
y'
)//选择错误时判定
}while(ch=='
||ch=='
savemoney()//存钱函数功能实现
floatc;
charch;
请输入要存入的金额:
c;
while(c<
输入错误,请重新输入!
money=money+c;
操作已成功!
)
intYH:
acnum=0;
display()//用户信息界面
#####################################"
#"
# 用户姓名:
# 帐号:
"
# 余额:
"
#按输入键回到上一菜单"
exitYH()//退出系统
感谢您对本银行的支持,欢迎下次光临!
exit(0);
六、测试数据:
帐号
户名
密码
开户金额
余额
123456789
阮伟
123
10000
10100
987654321
100
七、数据调试:
1.登陆界面
2.开户界面
3.账户操作
八、课程设计总结
通过这次C++课程设计,使我学到面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,是将计算机课程与实际问题相联接的关键步骤。
通过课程设计,能够提高自己的分析问题、解决问题的能力,从而运用所学知识解决实际问题的能力,并培养基本的、良好的程序设计技能。
这次的课程设计,让我用了一个相对比较集中的时间去练习我的编程,特别是自己的动手能力,因为这次的课程设计覆盖面比较广泛。
经过了这次的设计,让我找到自己学习上的漏洞,一些课程设计上的以前没有弄懂的知识,都在这次的课程设计上有所提高。
九、课程设计教材及主要参考资料
教学参考书
[1]李素若.《C++面向对象程序设计》.北京:
化学工业出版社,2008.
参考资料:
[1]郑莉,傅仕星编,《C++面向对象程序设计》,清华大学出版社,2003年9月出
[2]谭浩强编,《C++面向对象程序设计》,清华大学出版社,2005年7月出版
[3]李师贤等译,《C++精髓》,机械工业出版社,2002年8月出版
[4]DavisChapman,《学用Visual
c++
6.0》,清华大学出版社,2001年7月出版
[5]郑莉,傅仕星编,C++语言面向对象程序设计习题与实验指导,清华大学出版社,2003年9月出版
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 账户 管理 课程设计