职场文秘网

首页 > 哲学范文 > 马克思主义哲学 / 正文

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

2020-12-23 09:50:28

 

  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: 管理系统   账户   课程设计  

搜索
网站分类
标签列表