银行账户管理系统(c++课程设计)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
银行账户管理系统(c++课程设计)
2015-2016学年第二学期面向对象程序设计(c++)
大作业说明书学院名称:
计算机与信息工程学院班级名称:
计算机科学与技术(对口)
学生姓名:
学号:
题目:
银行账户管理系统指导教师:
起止日期:
2016年4月3日至2016年4月20日计算机与信息工程学院目录1.选题背景12.设计思路12.1设计思想12.1.1设计内容12.1.2设计要求12.2功能需求
12.3软硬件运行环境及开发工具13.过程论述13.1需求分析13.1.1系统功能图
13.1.2函数功能和说明23.2程序代码分析24.结果分析75.结论7参考文献71.选题背景随着办公自动化的迅速发展,对企事业单位信息的自动化管理提出了很高的要求。
对于银行来说,由于有大量的客户信息需要处理,因此银行帐户管理系统的开发与研究有一定的实用价值。
2.设计思路2.1设计思想2.1.1设计内容因本次课程设计是银行卡账户管理系统,所以本次主要内容有:最高管理员模式、管理员模式、用户模式、退出系统。
2.1.2设计要求定义一个用户信息类userinformation和一个管理员类manager,程序运行时,首先进入最高管理员模式,设置一下银行管理人员的密码,设置成功后可以按4返回主菜单,进入其他界面,管理员可以进行登录、开户、挂失、销户等功能,用户可以进行取款、存款、修改密码、转账、查询操作。
最后一项是退出系统功能。
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“或从文件“E:\\银行账户管理数据.txt“读取信息voidwrite()将信息存入文件“C:\\Users\\银行账户管理数据.txt“Voidwait()返回主菜单的等待函数3.2程序代码分析1.最高管理模式,界面显示如图3-1所示图3-1最高管理模式图代码如下:
voidsetlixi(doublea)//设置日利率{lixi=a;cout“成功设置日利
率!“endl;cout“利率为:“lixi“%“endl;}voidwritelixi()//保存日利率{ofstreamstuf1(“E:\\高层管理数据
1.t xt“,ios::out);stuf1setiosflags(ios::fixed)setprecision(3)lixi““;stuf1.close();cout“保存成功!“endl;coutendl;}voidsetsui(doublea)//设置固定年息{sui=a;cout“成功设置税率!“endl;cout“利率为:
“sui“%“endl;}voidwritesui()//保存固定年息{ofstreamstuf2(“E:\\高层管理数据
2.txt“,ios::out);stuf2setiosflags(ios::fixed)setprecision(3)sui““; stuf2.close();cout“保存成功!
“endl;coutendl;}voidsetmanagercode(stringa)//设置管理员密码
{managercode=a;cout“密码设置成功!“endl;}2.管理员模式,运行界面如下图3-2所示。
图3-2管理员模式图部分功能实现代码如下:
(1)在管理员模式中,实现管理员为用户开户的功能,具体代码如下:
voidOpenAccount(Userinformationa){B[number+sum]=a;sum++;cout“开户成功!“endl;coutendl;}(2)在管理员模式中,实现管理员为用户账户挂失的功能,具体代码如下:
voidHookAccount(Userinformationa){charc;intflag=0;for(inti=0;isum +number;i++){if(B[i].get_userNum()==a.get_userNum()){if(B[i].get_stat us()==“HOOK“){cout“该用户已挂失!
“endl;coutendl;break;}else{coutendl;B[i].display();cout“确认-Y/取消-N:“;cinc;if(c=='Y'||c=='y'){flag=1;B[i].status=“HOOK“;cout“挂失成功!“endl;coutendl;}}}}if(flag==0){cout“该用户不存
在!“endl;coutendl;}}3.用户模式,界面运行如下图3-3所示图3-3用户模式图部分功能代码如下:
(1)
为用户提供存款的功能。
具体代码实现如下:
voidSaving(Userinformationa,doublemon,intr1){inti;for(i=0;isum+nu mber;i++){if(B[i].get_userNum()==erNum){//判断是否系统中存在此用户if(B[i].get_status()==“HOOK“){//判断用户银行卡的使用状态cout“对不起,用户已被冻结,无法修改!
“endl;coutendl;}else{r2=f1(B[i].year,B[i].month,B[i].day);B[i].count day=r1-r2;B[i].change_money_li(B[i].countday);B[i].change_money(mon); cout“成功存款:“monendl;coutendl;}}}if(i==sum+number+1){cout“错误该用户不存在!“endl;coutendl;}}(2)
为用户提供转账的功能。
具体代码实现如下:
voidTransfering(Userinformationa,intr1){stringusernum1;intj;inti; intmon;charc;for(i=0;isum+number;i++){if(B[i].get_userNum()==erNu m){if(B[i].get_status()==“HOOK“){cout“对不起,用户已被冻结,无法修
改!
“endl;coutendl;}else{r2=f1(B[i].year,B[i].month,B[i].day);B[i].count day=r1-r2;B[i].change_money_li(B[i].countday);cout“请输入要转账的银行卡号:
“;cinusernum1;for(j=0;jsum+number;j++){if(B[j].get_userNum()==usernu m1){cout“请输入要转账的金额:“endl;cinmon;if(monB[i].money){cout“您的余额不足!无法进行转账!
“endl;coutendl;}else{r2=f1(B[j].year,B[j].month,B[j].day);B[j].count day=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()endl;cout“打印拼条?y/n“endl;cinc;if(c=='y'||'c==Y'){B[j].Wait();cout“凭条打印中,请稍后!“endl;cout“转账金额为:“mon;coutendl;}}}}if(j==sum+number+1)cout“该用户不存在!“endl;coutendl;}}}if(i==sum+number+1)cout“该用户不存在!
“endl;coutendl;}4.结果分析1.测试与操作说明使用visualc++6.0,打开银行账户管理系统c++文件,接着纠正错误,无错误,最后执行文件。
要求用户在一开始进入界面的时候,进入最高管理模式,设置管理员密码,然后再进行其他选项。
其他选项的进入由测试人员自行选择。
5.结论通过这次C++大作业设计,使我学到面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,是将计算机课程与实际问题相联接的关键步骤。
通过这次,能够提高自己的分析问题、解决问题的能力,从而运用所学知识解决实际问题的能力,并培养基本的程序设计技能。
参考文献[1]李素若,《C++面向对象程序设计》,北京化学工业出版社,2008年出版[1]郑莉,傅仕星编,《C++面向对象程序设计》,清华大学出版社,2003年9月出版[2]谭浩强编,《C++面向对象程序设计》,清华大学出版社,2005年7月出版评分表学号2014214190姓名:徐竹青项目占比评分标准得分文档50%格式规范,逻辑清晰,完整体现软件设计与开发过程49程序10%程序运行正确1010%使用了三种以上面向对象特性得6分,四种得8分,五种得满分10分620%程序
自主编写,熟悉程序的各部分代码1910%程序复杂度10总分94。