银行账户管理系统(c++课程设计)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else{ r2=f1(B[j].year,B[j].month,B[j].day);B[j].countday=r1r2; 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; cin>>c; if(c=='y'||'c==Y'){ B[j].Wait(); cout<<"凭条打印中,请稍后!"<<endl; cout<<"转账金额为:" <<mon;cout<<endl;}}}} if (j==sum+number+1) cout<<"该用户不存在!"<<endl;cout<<endl;}}} if(i==sum+number+1) cout<<"该用户不存在!"<<endl;cout<<endl;}
cout<<"对不起,用户已被冻结,无法修改!" <<endl;cout<<endl;} 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); cout<<"成功存款:"<<mon<<endl; cout<<endl;}}} if(i==sum+number+1){ cout<<"错误该用户不存在!"<<endl;cout<<endl;} } (2) 为用户提供转账的功能。具体代码实现如下: void Transfering (Userinformation a,int r1){ string usernum1; int j; int i; int mon; char c; for (i=0; i<sum+number; i++){ if (B[i].get_userNum() ==a.userNum){ if(B[i].get_status()=="HOOK"){ cout<<"对不起,用户已被冻结,无法修改!" <<endl;cout<<endl;} 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); cout<<"请输入要转账的银行卡号:"; cin>>usernum1; for (j=0; j<sum+number; j++){ if (B[j].get_userNum() ==usernum1){ cout<<"请输入要转账的金额:"<<endl; cin>>mon; if(mon>B[i].money){ cout<<"您的余额不足!无法进行转账!"<<endl; cout<<endl;}
3.用户模式,界面运行如下图Baidu Nhomakorabea-3所示
图3-3 用户模式图 部分功能代码如下: (1) 为用户提供存款的功能。具体代码实现如下: void Saving (Userinformation a,double mon,int r1){ int i; for ( i=0; i<sum+number; i++){ if (B[i].get_userNum() ==a.userNum){ //判断是否系统中存在此用 户 if(B[i].get_status()=="HOOK"){ //判断用户银行卡的使用状态
4.结果分析
1.测试与操作说明
使用visualc++ 6.0,打开银行账户管理系统c++文件,接着纠正错 误,无错误,最后执行文件。要求用户在一开始进入界面的时候,进入 最高管理模式,设置管理员密码,然后再进行其他选项。其他选项的进 入由测试人员自行选择。
5. 结论
通过这次C++大作业设计,使我学到面向对象的程序设计思想用到具 体的工作和学习中,加深对类与对象的理解,是将计算机课程与实际问 题相联接的关键步骤。通过这次,能够提高自己的分析问题、解决问题 的能力,从而运用所学知识解决实际问题的能力,并培养基本的程序设 计技能。
1. 选题背景
随着办公自动化的迅速发展,对企事业单位信息的自动化管理提出 了很高的要求。对于银行来说,由于有大量的客户信息需要处理,因此 银行帐户管理系统的开发与研究有一定的实用价值。
2. 设计思路
2.1 设计思想 2.1.1设计内容
因本次课程设计是银行卡账户管理系统,所以本次主要内容有: 最高管理员模式、管理员模式、用户模式、退出系统。 2.1.2设计要求 定义一个用户信息类userinformation和一个管理员类manager,程 序运行时,首先进入最高管理员模式,设置一下银行管理人员的密码, 设置成功后可以按4返回主菜单,进入其他界面,管理员可以进行登 录、开户、挂失、销户等功能,用户可以进行取款、存款、修改密码、 转账、查询操作。最后一项是退出系统功能。
目 录
1. 选题背景 1 2. 设计思路 1 2.1 设计思想 1 2.1.1设计内容 1 2.1.2设计要求 1 2.2功能需求 1 2.3软硬件运行环境及开发工具 1 3.过程论述 1 3.1需求分析 1 3.1.1系统功能图 1 3.1.2函数功能和说明 2 3.2程序代码分析 2 4.结果分析 7 5. 结论 7 参考文献 7
2.2功能需求
(1) (2) (3) (4) 银行管理员所需的功能:如开户、销户、挂失、解锁等。 用户所需的功能:如存款、取款、查询余额、更改密码等。 对本银行已有的账户金额进行统计。 及时保存用户的信息,存到固定的文件里。
2.3软硬件运行环境及开发工具
(1)编成语言:c++语言。 (2)开发环境:Microsoft Windows 7、Visual c++ 6.0。
3.过程论述
3.1需求分析 3.1.1系统功能图
显示整个程序所要运行的流程。如图3-1所示。
银行账户管理系统 开始界面 最高管理模式 管理员模式 退出系统 用户模式
图3-1 功能图
3.1.2函数功能和说明
各函数功能表
void display() void change_money_li () void change_money() void OpenAccount () void CloseAccount () void HookAccount (Userinformation a) void Saving ( ) void Drawing ( ) void Transfering ( ) void Inquiring () void read()
图3-2管理员模式图 部分功能实现代码如下: (1)在管理员模式中,实现管理员为用户开户的功能,具体代码如下: void OpenAccount (Userinformation a) { B[number+sum]=a; sum++; cout<<"开户成功!"<<endl; cout<<endl; } (2)在管理员模式中,实现管理员为用户账户挂失的功能,具体代码如 下: void HookAccount (Userinformation a){ char c; int flag=0; for (int i=0; i<sum+number; i++){
{
if (B[i].get_userNum() ==a.get_userNum()) if(B[i].get_status()=="HOOK"){ cout<<"该用户已挂失!"<<endl; cout<<endl; break;} else{ cout<<endl; B[i].display (); cout<<"确认-Y/取消-N: "; cin>>c; if(c=='Y'||c=='y'){ flag=1; B[i].status="HOOK"; cout<<"挂失成功!"<<endl; cout<<endl;}} } } if (flag==0){ cout<<"该用户不存在!"<<endl;cout<<endl;}}
stuf1<<setiosflags(ios::fixed)<<setprecision(3)<<lixi<<" ";stuf1.close(); cout<<"保存成功!"<<endl; cout<<endl; } void setsui(double a) //设置固定年息 { sui=a; cout<<"成功设置税率!"<<endl; cout<<"利率为:"<<sui<<"%"<<endl; } void writesui() //保存固定年息 { ofstream stuf2 ("E:\\高层管理数据2.txt",ios::out); stuf2<<setiosflags(ios::fixed)<<setprecision(3)<<sui<<" ";stuf2.close(); cout<<"保存成功!"<<endl; cout<<endl; } void setmanagercode( string a) //设置管理员密码 { managercode=a; cout<<"密码设置成功!"<<endl;} 2.管理员模式,运行界面如下图3-2所示。
2015-2016学年第二学期 面向对象程序设计(c++) 大作业说明书
学院名称: 班级名称: 口) 学生姓名: 学 题 号: 目:
计算机与信息工程学院 14计算机科学与技术(对 徐竹青 2014100108 银行账户管理系统 王汇彬
指导教师:
起止日期: 2016年4月3日至2016年4月20日
计算机与信息工程学院
1.最高管理模式,界面显示如图3-1所示
图3-1最高管理模式图 代码如下: void setlixi(double a) //设置日利率 { lixi=a; cout<<"成功设置日利率!"<<endl; cout<<"利率为:"<<lixi<<"%"<<endl; } void writelixi() //保存日利率 { ofstream stuf1("E:\\高层管理数据1.txt",ios::out);
参考文献
[1]李素若,《C++面向对象程序设计》,北京化学工业出版社,2008年 出版 [1]郑莉,傅仕星编,《C++面向对象程序设计》,清华大学出版社, 2003年9月出版 [2]谭浩强编,《C++面向对象程序设计》,清华大学出版社,2005年7 月出版 评分表 学号 2014214190 姓名:徐竹青 项目 文档 占比 评分标准 得分 格式规范,逻 辑清晰,完整 49 体现软件设计 与开发过程 程序运行正确 10 使用了三种以 上面向对象特 性得6分,四 6 种得8分,五 种得满分10分 程序自主编 写,熟悉程序 19 的各部分代码 程序复杂度 94 10
输出用户信息 计算本息和 获取存款金额 开户 销户 用户挂失 存款 取款 转账 查询 创建文件"E:\\银行账户管理数 据.txt"或从文件"E:\\银行账户 管理数据.txt"读取信息
void write() Void wait() 3.2程序代码分析
将信息存入文件"C:\\Users\\银 行账户管理数据.txt" 返回主菜单的等待函数
50% 10%
10% 程序 20% 10% 总分