银行账户管理系统c++课程设计Word文档下载推荐.docx
《银行账户管理系统c++课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《银行账户管理系统c++课程设计Word文档下载推荐.docx(12页珍藏版)》请在冰点文库上搜索。
![银行账户管理系统c++课程设计Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/9c24ae2b-60b8-40bc-80d4-0b47ec51b3ae/9c24ae2b-60b8-40bc-80d4-0b47ec51b3ae1.gif)
最后一项是退出系统功能。
2.2功能需求
(1)银行管理员所需的功能:
如开户、销户、挂失、解锁等。
(2)用户所需的功能:
如存款、取款、查询余额、更改密码等。
(3)对本银行已有的账户金额进行统计。
(4)及时保存用户的信息,存到固定的文件里。
2.3软硬件运行环境及开发工具
(1)编成语言:
c++语言。
(2)开发环境:
MicrosoftWindows7、Visualc++6.0。
3.过程论述
3.1需求分析
3.1.1系统功能图
显示整个程序所要运行的流程。
如图3-1所示。
图3-1功能图
3.1.2函数功能和说明
各函数功能表
voiddisplay()
输出用户信息
voidchange_money_li()
计算本息和
voidchange_money()
获取存款金额
voidOpenAccount()
开户
voidCloseAccount()
销户
voidHookAccount(Userinformationa)
用户挂失
voidSaving()
存款
voidDrawing()
取款
voidTransfering()
转账
voidInquiring()
查询
voidread()
创建文件"
E:
\\银行账户管理数据.txt"
或从文件"
读取信息
voidwrite()
将信息存入文件"
C:
\\Users\\银行账户管理数据.txt"
Voidwait()
返回主菜单的等待函数
3.2程序代码分析
1.最高管理模式,界面显示如图3-1所示
图3-1最高管理模式图
代码如下:
voidsetlixi(doublea)//设置日利率
{
lixi=a;
cout<
<
"
成功设置日利率!
endl;
利率为:
lixi<
%"
}
voidwritelixi()//保存日利率
ofstreamstuf1("
\\高层管理数据1.txt"
ios:
:
out);
stuf1<
setiosflags(ios:
fixed)<
setprecision(3)<
"
;
stuf1.close();
cout<
保存成功!
voidsetsui(doublea)//设置固定年息
sui=a;
成功设置税率!
sui<
voidwritesui()//保存固定年息
{
ofstreamstuf2("
\\高层管理数据2.txt"
stuf2<
stuf2.close();
voidsetmanagercode(stringa)//设置管理员密码
managercode=a;
密码设置成功!
2.管理员模式,运行界面如下图3-2所示。
图3-2管理员模式图
部分功能实现代码如下:
(1)在管理员模式中,实现管理员为用户开户的功能,具体代码如下:
voidOpenAccount(Userinformationa){
B[number+sum]=a;
sum++;
开户成功!
(2)在管理员模式中,实现管理员为用户账户挂失的功能,具体代码如下:
voidHookAccount(Userinformationa){
charc;
intflag=0;
for(inti=0;
i<
sum+number;
i++){
if(B[i].get_userNum()==a.get_userNum()){if(B[i].get_status()=="
HOOK"
){
该用户已挂失!
break;
}
else{
cout<
B[i].display();
确认-Y/取消-N:
cin>
>
c;
if(c=='
Y'
||c=='
y'
){
flag=1;
B[i].status="
cout<
挂失成功!
}}
}
}
if(flag==0){
cout<
该用户不存在!
}}
3.用户模式,界面运行如下图3-3所示
图3-3用户模式图
部分功能代码如下:
(1)为用户提供存款的功能。
具体代码实现如下:
voidSaving(Userinformationa,doublemon,intr1){
inti;
for(i=0;
if(B[i].get_userNum()==a.userNum){//判断是否系统中存在此用户
if(B[i].get_status()=="
){//判断用户银行卡的使用状态
对不起,用户已被冻结,无法修改!
else{
r2=f1(B[i].year,B[i].month,B[i].day);
B[i].countday=r1-r2;
B[i].change_money_li(B[i].countday);
B[i].change_money(mon);
成功存款:
mon<
}}}
if(i==sum+number+1){
错误该用户不存在!
(2)为用户提供转账的功能。
voidTransfering(Userinformationa,intr1){
stringusernum1;
intj;
inti;
intmon;
charc;
for(i=0;
if(B[i].get_userNum()==a.userNum){
if(B[i].get_status()=="
}
else{
r2=f1(B[i].year,B[i].month,B[i].day);
B[i].countday=r1-r2;
B[i].change_money_li(B[i].countday);
请输入要转账的银行卡号:
cin>
usernum1;
for(j=0;
j<
j++){
if(B[j].get_userNum()==usernum1){
请输入要转账的金额:
mon;
if(mon>
B[i].money){
您的余额不足!
无法进行转账!
r2=f1(B[j].year,B[j].month,B[j].day);
B[j].countday=r1-r2;
B[j].change_money_li(B[i].countday);
B[i].change_money(-mon);
B[j].change_money(mon);
cout<
成功从用户:
B[i].get_userNum()<
转账到用户:
B[j].get_userNum()<
cout<
打印拼条?
y/n"
cin>
if(c=='
||'
c==Y'
){
B[j].Wait();
凭条打印中,请稍后!
转账金额为:
}}}}
if(j==sum+number+1)
cout<
该用户不存在!
}}}
if(i==sum+number+1)
4.结果分析
1.测试与操作说明
使用visualc++6.0,打开银行账户管理系统c++文件,接着纠正错误,无错误,最后执行文件。
要求用户在一开始进入界面的时候,进入最高管理模式,设置管理员密码,然后再进行其他选项。
其他选项的进入由测试人员自行选择。
5.结论
通过这次C++大作业设计,使我学到面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,是将计算机课程与实际问题相联接的关键步骤。
通过这次,能够提高自己的分析问题、解决问题的能力,从而运用所学知识解决实际问题的能力,并培养基本的程序设计技能。
参考文献
[1]李素若,《C++面向对象程序设计》,北京化学工业出版社,2008年出版
[1]郑莉,傅仕星编,《C++面向对象程序设计》,清华大学出版社,2003年9月出版
[2]谭浩强编,《C++面向对象程序设计》,清华大学出版社,2005年7月出版
评分表
学号
2014214190
姓名:
徐竹青
项目
占比
评分标准
得分
文档
50%
格式规范,逻辑清晰,完整体现软件设计与开发过程
49
程序
10%
程序运行正确
10
使用了三种以上面向对象特性得6分,四种得8分,五种得满分10分
6
20%
程序自主编写,熟悉程序的各部分代码
19
程序复杂度
总分
94