职场文秘网

首页 > 入党材料 > 入党志愿书 / 正文

银行账户管理系统(c++课程设计)

2020-12-23 10:11:17

2015-2016学年第二学期 面向对象程序设计(c++) 大作业说明书 学院名称:
计算机与信息工程学院 班级名称:
计算机科学与技术(对口) 学生姓名:
学 号:
题 目:
银行账户管理系统 指导教师:
起止日期:
2016年4月3日至2016年4月20日 计算机与信息工程学院 目 录 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 1. 选题背景 随着办公自动化的迅速发展,对企事业单位信息的自动化管理提出了很高的要求。对于银行来说,由于有大量的客户信息需要处理,因此银行帐户管理系统的开发与研究有一定的实用价值。

2. 设计思路 2.1 设计思想 2.1.1设计内容 因本次课程设计是银行卡账户管理系统,所以本次主要内容有:最高管理员模式、管理员模式、用户模式、退出系统。

2.1.2设计要求 定义一个用户信息类userinformation和一个管理员类manager,程序运行时,首先进入最高管理员模式,设置一下银行管理人员的密码,设置成功后可以按4返回主菜单,进入其他界面,管理员可以进行登录、开户、挂失、销户等功能,用户可以进行取款、存款、修改密码、转账、查询操作。最后一项是退出系统功能。

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() 创建文件“E:\\银行账户管理数据.txt“或从文件“E:\\银行账户管理数据.txt“读取信息 void write() 将信息存入文件“C:\\Users\\银行账户管理数据.txt“ Void wait() 返回主菜单的等待函数 3.2程序代码分析 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); 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所示。

图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;}} 3.用户模式,界面运行如下图3-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“){ //判断用户银行卡的使用状态 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;} else{ 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()<<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;} 4.结果分析 1.测试与操作说明 使用visualc++ 6.0,打开银行账户管理系统c++文件,接着纠正错误,无错误,最后执行文件。要求用户在一开始进入界面的时候,进入最高管理模式,设置管理员密码,然后再进行其他选项。其他选项的进入由测试人员自行选择。

5. 结论 通过这次C++大作业设计,使我学到面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,是将计算机课程与实际问题相联接的关键步骤。通过这次,能够提高自己的分析问题、解决问题的能力,从而运用所学知识解决实际问题的能力,并培养基本的程序设计技能。

参考文献 [1]李素若,《C++面向对象程序设计》,北京化学工业出版社,2008年出版 [1]郑莉,傅仕星编,《C++面向对象程序设计》,清华大学出版社,2003年9月出版 [2]谭浩强编,《C++面向对象程序设计》,清华大学出版社,2005年7月出版 评分表 学号 2014214190 姓名:徐竹青 项目 占比 评分标准 得分 文档 50% 格式规范,逻辑清晰,完整体现软件设计与开发过程 49 程序 10% 程序运行正确 10 10% 使用了三种以上面向对象特性得6分,四种得8分,五种得满分10分 6 20% 程序自主编写,熟悉程序的各部分代码 19 10% 程序复杂度 10 总分 94

Tags: 管理系统   账户   课程设计  

搜索
网站分类
标签列表