银行ATM自动取款机模拟程序
- 格式:ppt
- 大小:668.00 KB
- 文档页数:40
ATM柜员机模拟系统目录1.设计目的 (2)2.功能介绍 (2)3.概要设计 (2)3.1 需求分析 (2)3.2 自定义类说明 (2)3.3 界面设计思想 (3)3.4 方法定义说明 (3)4.详细设计 (3)4.1程序流程图 (3)4.2登陆界面设计 (4)具体实现过程 (4)关键代码设计 (5)5.设计心得与体会 (25)1·设计目的使用图形用户界面。
当输入给定的卡号和密码(初始卡号和初始密码)时,系统能登录ATM柜员机系统2·功能介绍(1)查询余额:初始余额为10000元(2)ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
(3)ATM存款:不能出现负存款。
(4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
3·概要设计3.1 需求分析使用ATM机可以节约人力资源,方便用户进行简单常用操作,并且可以为用户提供全天候的服务,提高银行效率。
3.2 自定义类说明a:Guest类定义客户类,该类主要提供用户的各种操作提供定义变量 b:DENGRU类为主类,主要有按钮、文本框,组合框,标签,在组合中选择账号,在密码的文本框中输入各个账号所对应的密码,单击登录按钮可以进入选择界面,如果密码错误,就会弹出对话框,提示“密码错误,拒绝登录”。
c:KQ类为选择界面模块,在选择模块服务中,有各种ATM的服务功能,只要在用户该界面中选择按钮,它会弹出各个相应的界面。
d:Zdqk类为取款类,在取款模块中,用户在文本框中输入它想取的数额,但必须是100的倍数,否则会弹出报错窗口,而且每一次最多只能去5000快,否则会弹出报错窗口,当然取款时不能超过卡里的余额没卡里的余额不可以为负数,否则会弹出报错的窗口。
e:Zdck类为自动存款类,用户在文本框中输入它想存入的数额,单击确定,就可以存入,如果输错了或者是不想存了,可以单击取消,退出的选择界面。
课程设计任务书一、课程设计题目《模拟ATM柜员机程序》二、课程设计内容(含技术指标)1.使用文本命令行界面。
当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:查询余额:初始余额为10000元ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
ATM存款:不能出现负存款。
修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
2.建立银行账户类、文件读写类、界面显示类等以及各相关接口类。
三、进度安排1.1-4学时,分析需求、理解需求;2.5-8学时,程序设计,定义类、数据处理方式;3.9-12学时,编写程序、调试、测试;4.12-16学时,编写设计报告学时,答辩;四、基本要求1.只能使用C++语言,源程序要有适当的注释,程序容易阅读2.至少采用文本菜单界面(如果能采用图形菜单界面更好)3.学生可自动增加新功能模块(视情况可另外加分)4.用文件保存信息5.写出课程设计报告,具体要求见相关说明文档课程负责人签名:年月日课程设计分工安排摘要演示程序时,初始卡号和密码为123456,系统能登录ATM柜员机系统,进入功能界面,根据功能界面的提示,然后由用户进行相应的功能操作。
本程序使用C++语言,操作时,使用文本命令行界面。
该程序还需要一些改进,就是没有采用图形菜单界面。
关键词:登陆界面修改密码取款查询信息功能界面目录摘要 (I)目录 .............................................................................................................. I I 第一章需求分析 .. (1)1.1功能: (1)1.2操作: (1)第二章总体设计 (2)2.1 模拟ATM柜员机程序功能图 (2)2.2 整个程序的流程图 (3)第三章详细设计与实现 (4)3.1 类的设计 (4)3.2 ATM柜员机的登陆 (5)3.3 ATM柜员机修改密码功能 (5)3.4 ATM柜员机取款存款功能 (6)3.5 ATM柜员机查询余额功能 (7)第四章测试 (8)4.1程序开始运行的界面 (8)4.2 正确输入帐号密码后的界面 (9)4.3 取钱成功后的界面 (9)4.4 程序结束时的界面 (10)参考文献 (11)心得体会 (12)第一章需求分析1.1功能:(1)模拟ATM柜员机程序;(2)修改密码。
西安科技大学软件工程课程设计报告题目:ATM柜员机模拟程序班级:信计0801学号:080806013008080601260808060125姓名:覃永贤上官恩辉申松2010年12月目录1概述1.1目的及意义1.2 设计内容1.3 人员组成及分工2系统分析2.1 问题背景及概况2.2 系统需求分析3 系统设计3.1 软件结构设计3.2 数据库设计4系统实现4.1 开发环境4.2 关键技术4.3 主要功能代码5系统测试参考文献日历系统设计文档1 概述1.1目的及意义目的:1、培养独立的Java语言与算法设计方法,具备初步的独立分析和设计能力;2、学习软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3、训练综合运用所学的理论知识和方法进行独立分析和解决问题的能力;4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
意义:模拟ATM柜员机的相关功能,实现其取款、余额查询、密码修改等相关功能,通过课程设计让我们了解其相关方面的运作过程。
1.2 设计内容使用图形用户界面模拟ATM柜员机的相关功能。
功能如下:1.实现用户登录功能。
2.实现余额查询功能。
3.实现取款功能。
4.实现密码修改功能。
1.3 人员组成及分工1、组员名单:覃永贤申松上官恩辉2、组员分工:(1)覃永贤负责程序设计(2)上官恩辉负责需求分析(3)申松负责软件测试2系统分析2.1 问题背景及概况人们日常生活中经常使用ATM柜员机,其极大的方便了人们的日常生活,同时在使用的过程中也会遇到这样那样的问题,如果有一款软件模拟ATM,可以帮助人们了解其运行过程,避免有些不必要的麻烦。
2.2 系统需求分析:2.2.1功能需求分析(1)用图形用户界面实现。
本系统基于JA V A采用多线程的程序设计,使得界面清晰直观,系统全部通过界面来实现系统的功能需求。
2.2.2性能需求分析(1)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如数据未初始化等,在出现不可知的错误以后,可以尽量安全的退出程序。
pta atm模拟程序的设计PTA ATM模拟程序是一个用来模拟ATM机器的程序。
它可以用于测试ATM 机器的功能,并帮助用户学习如何使用ATM机器。
PTA ATM模拟程序的设计可以分为以下几个步骤:1.定义ATM机器的功能首先,需要定义ATM机器的功能。
这包括ATM机器可以执行的操作,以及这些操作的输入和输出。
ATM机器的基本功能包括:●登录●查询余额●取款●存款●转账●修改密码2.设计ATM机器的状态转换图根据ATM机器的功能,可以设计ATM机器的状态转换图。
状态转换图可以用来描述ATM机器的状态和状态之间的转换。
ATM机器的状态转换图如下所示:ATM机器的状态转换图的图片在新窗口中打开ATM机器的状态转换图状态转换图中的每个状态表示ATM机器的一种状态。
状态之间的箭头表示ATM机器从一种状态转换到另一种状态。
3.设计ATM机器的控制流程根据ATM机器的状态转换图,可以设计ATM机器的控制流程。
控制流程可以用来描述ATM机器的操作顺序。
控制流程中的每个步骤表示ATM机器要执行的操作。
4.实现ATM机器的功能根据ATM机器的功能、状态转换图和控制流程,可以实现ATM机器的功能。
ATM机器的功能可以使用多种编程语言来实现。
例如,可以使用Python来实现ATM机器的功能。
5.测试ATM机器的功能在实现ATM机器的功能后,需要测试ATM机器的功能。
测试可以用来验证ATM机器的功能是否正确。
ATM机器的功能可以使用多种方法来测试。
例如,可以使用自动化测试工具来测试ATM机器的功能。
6.发布ATM机器在测试ATM机器的功能后,可以发布ATM机器。
发布ATM机器后,用户可以使用ATM机器。
PTA ATM模拟程序的设计是一个复杂的过程,需要考虑多种因素。
通过仔细设计,可以开发出功能强大、易于使用的ATM模拟程序。
C语言模拟ATM机的编写程序#include <stdio.h>void main(){long int a,b,c,d,e,f,g,k,l,m,n,o,p,h;n=0;h=10000;k=123456;loop0: printf("\t\t\t欢迎使用中国邮政ATM取款机!\n\n");printf("请插入你的银行卡,并输入你的密码,三次密码输入错误,将终止程序:\n");scanf("%ld",&l);if(k==l){loop1: printf("请输入你选择的操作类型:\n");printf("请输入0-4进行选择:\n");printf("1:<转账>\t2:<查询>\t3:<取款>\t4:<修改密码>\t0:<取卡>\n");scanf("%ld",&a);switch(a){case 1: printf("请输入转账账号:\n");scanf("%d",&o);printf("请输入你需要转账的金额:\n");scanf("%d",&p);printf("请输入你选择的操作类型:\n");printf("请输入0或1进行选择:\n");printf("1:<确认>\t0:<返回>\n");h=10000-p;scanf("%ld",&b);switch(b){case 1:printf("\n转账%d元人民币成功!\n\n",p);goto loop1;break;case 0:goto loop1;break;default :printf("\n无此操作项!\n\n");goto loop1;}break;loop4:case 2:printf("请输入你选择的操作类型:\n");printf("请输入0-2进行选择:\n");printf("1:<查询余额>\t2:<查询明细>\t0:<返回>\n");scanf("%ld",&c);switch(c){case 1:printf("\n你的余额为:%5d\n\n",h);goto loop1;break;case 2:printf("\n你的账单为:******。
课程设计任务书课程名称:C++程序设计课程设计设计题目:ATM取款机模拟程序已知技术参数和设计要求:1. 问题描述:课题的任务是设计一个ATM取款机的模拟程序。
日常生活中,我们常使用ATM取款机,对它的操作过程有所了解。
这里我们要模拟的是用户所见的A TM取款机的属性和行为,ATM机与网络连接的部分不包括在这个任务中。
设计中应尽可能把它模拟得与真实的ATM接近一些,我们抽象出下列问题:(1) 用户插卡,A TM验证用户帐号信息。
(2) 用户首次操作须验证密码。
(3) 用户查询余额,ATM显示余额。
(4) 用户取款,A TM操作交易过程。
(5) 用户转账,A TM请求插入转入卡,然后操作交易过程。
(6) 用户更改密码,A TM受理此业务。
(7) 用户退卡。
A TM清理现场。
(8) 所有用户信息保存在文件中。
(9) 对于一个在线用户,如果超过一定时间用户没有任何操作,ATM锁机,直到用户退卡为止。
(10) ATM向用户显示欢迎词及其他提示信息。
2. 功能要求:(1)插卡功能(用卡号模拟);(2)取款功能;(3)查询余额功能;(4)验证帐号功能;(5)更改密码功能;(6)退卡功能;(7)锁卡功能。
3. 界面要求:用户界面设计不做统一规定,但应做到界面友好,易于操作。
4. 技术要求:要求所有用户的信息以密文形式保存在数据文件中,加密算法为:字节各位取反,然后高半字节和低半字节交换位置。
用户输入密码时不能以明文形式显示在屏幕上,应以“*”号代替来显示用户密码的输入。
要求利用面向对象的方法以及C++的编程思想来完成系统的设计;在设计的过程中,建立清晰的类层次;在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制来实现系统功能。
要求主函数(或图形界面下的主调函数)很“干净”,只有一些类对象的定义和某个类对象的一个成员函数的调用。
5. 课程设计时间:15周、16周6. 课程设计的考核方式及评分方法1)考核方式⏹课程设计结束时,在机房当场验收。
银行ATM自动取款机模拟程序本程序需要两个文件,ATM程序文件及系统管理员管理,两个文件必须在同一个文件或同一路径下!1.ATM程序文件://////CUser.h //////////#include<fstream>using namespace std;struct user{int Money;int User;int Password;};class CAtm{public:int Login();//登陆void GetBalance();//查询余额void ChangePassword();//修改密码void DrawMoney();//取款void TranserAccounts();//转账void BankSaving();//存款int Exit();//退出系统private:int Position;//数据位置user us[5];//保存文件内容user us[20];user s;};///////////User.cpp /////////////#include<iostream>#include<fstream>#include"CUser.h"using namespace std;int CAtm::Login() //登录{ int save[5];//保存被吃卡的用户的账号bool flag;int i,j,k,num;fstream iofile("atm.dat",ios::in|ios::binary);iofile.read((char*)&us,sizeof(us));fstream in("jiesuo.dat",ios::in|ios::out|ios::binary);in.read((char*)&save,sizeof(save));cout<<"请输入你的账号:";cin>>num;flag=true;for(i=0;i<5;i++){ if(us[i].User==num) {flag=false;j=i;}}if(flag==true) { cout<<"账号不存在!"<<endl;return 0;}for(k=0;k<5;k++)//判断账号是否已经被锁{if(save[k]==num){ cout<<"你的账号已锁,请寻系统管理员解锁!"<<endl;return 0;}}k=0;cout<<"请输入密码:";cin>>num;for(i=1;i<=3;i++){ k++;if(us[j].Password!=num){ if(k==3){ cout<<"你的卡被锁定了,请找系统管理员解锁!"<<endl;save[j]=us[j].User;in.close();fstream out("jiesuo.dat",ios::out|ios::binary);out.write((char*)&save,sizeof(save));out.close();return 0;}else { cout<<"请重新输入密码:";cin>>num;}}}cout<<"密码正确,进入系统!"<<endl;er=us[j].User;s.Money=us[j].Money;s.Password=us[j].Password;Position=j;iofile.close();return 1;}void CAtm::GetBalance()//查询余额{ cout<<"您的账户余额:"<<s.Money<<endl;}void CAtm::ChangePassword()// 修改密码{ fstream iofile("atm.dat",ios::in|ios::out|ios::binary);cout<<"请输入新密码:";cin>>s.Password;iofile.seekp((Position+1)*sizeof(s),ios::beg);iofile.write((char*)&s,sizeof(s));iofile.close();}void CAtm::DrawMoney()//取款{int j;cout<<"请输入取款金额:";cin>>j;while(j>s.Money){cout<<"金额不足,请重新输入取款金额:";cin>>j;}s.Money=s.Money-j;fstream iofile("atm.dat",ios::in|ios::out|ios::binary);iofile.seekp((Position+1)*sizeof(s),ios::beg);iofile.write((char*)&s,sizeof(s));cout<<"取款金额是:"<<j<<" "<<"取款成功!!"<<endl;iofile.close();}void CAtm::TranserAccounts()//转账{ int s1,p,i;cout<<"请输入要转入的账号:";cin>>s1;bool flag=true;for(i=0;i<5;i++){ if(us[i].User==s1) {flag=false; p=i;}}if(flag==true)cout<<"账号不存在!"<<"请重新输入账号:";cout<<"请输入要转入的金额:";cin>>s1;while(s1>s.Money){cout<<"请重新输入转入金额:";cin>>s1;}us[p].Money=s1;s.Money=s.Money-s1;us[Position].Money=s.Money;fstream iofile("atm.dat",ios::in|ios::out|ios::binary);iofile.write((char*)&us,sizeof(us));iofile.close();cout<<"转账成功!"<<endl;}void CAtm::BankSaving()//存款缴费{ int k;cout<<"请输入要存款的金额:";cin>>k;s.Money=s.Money+k;fstream iofile("atm.dat",ios::in|ios::out|ios::binary);iofile.seekp((Position+1)*sizeof(s),ios::beg);iofile.write((char*)&s,sizeof(s));iofile.close();}int CAtm::Exit()//退出系统{cout<<" 谢谢使用本程序!!!"<<endl;return 0;}//////////////main.cpp ////////////////#include<iostream>#include"CUser.h "using namespace std;int main(){ cout<<" 欢迎使用银行ATM自动取款机模拟程序!"<<endl;cout<<endl;cout<<" 首次使用本程序,请先运行系统管理员程序!"<<endl;cout<<endl;cout<<" 说明:账号,密码,金额相同"<<endl;cout<<endl;cout<<" 文件中定义为5个账户,分别为1.2.3.4.5 "<<endl;cout<<endl;cout<<" 初始化时,请注意这些!!!"<<endl;cout<<endl;CAtm atm;if(atm.Login()==1){ cout<<" 1 查询余额"<<endl;cout<<" 2 修改密码"<<endl;cout<<" 3 取款"<<endl;cout<<" 4 转账"<<endl;cout<<" 5 存款"<<endl;cout<<" 0 退出系统"<<endl;int n;cout<<"请选择操作:";while(cin>>n){if(n==0) return atm.Exit();//退出系统if(n==1) atm.GetBalance();//查询余额if(n==2) atm.ChangePassword();//修改密码if(n==3) atm.DrawMoney();//取款if(n==4) atm.TranserAccounts();//转账if(n==5) atm.BankSaving();//存款cout<<"请继续选择操作:";}}return 0;}2.系统管理员程序:#include<iostream>#include<fstream>using namespace std;struct user{int Money;int User;int Password;};int main(){ int a[5]={0,0,0,0,0};int n;user us[20];cout<<" 欢迎使用系统管理员程序"<<endl;cout<<endl;cout<<" 说明:本程序只能建立5个账户!"<<endl;cout<<endl;cout<<" 请输入相应数字选择操作:"<<endl;cout<<endl;cout<<"----------------------------"<<endl;cout<<"- 0 结束操作-"<<endl;cout<<"- 1 用户信息-"<<endl;cout<<"- 2 吃卡解锁-"<<endl;cout<<"- 3 系统初始化-"<<endl;cout<<"----------------------------"<<endl;cout<<endl;cout<<"说明:用户信息的操作是进行开户操作!"<<endl;cout<<" 系统初始化是采用已定义好的5个账户,即原始系统初始化!"<<endl;while(cin>>n){ if(n==1){ user u[5];int i;fstream iofile("..\\ATM自动取款机\\atm.dat",ios::in|ios::out|ios::binary);if(!iofile){cerr<<"打开文件失败!";return -1;}cout<<"请输入数据:"<<endl;cout<<"账号密码金额"<<endl;for(i=0;i<5;i++){cin>>u[i].User>>u[i].Password>>u[i].Money;}iofile.write((char*)&u,sizeof(u));iofile.close();cout<<endl;cout<<"数据输入结束!"<<endl;cout<<endl;continue;}if(n==2){ fstream iofile("..\\ATM自动取款机\\atm.dat",ios::in|ios::binary);iofile.read((char*)&us,sizeof(us));fstream in("..\\ATM自动取款机\\jiesuo.dat",ios::in|ios::out|ios::binary);int i,j,p;bool flag;cout<<"请输入要解锁的账号:";cin>>j;flag=true;while(flag==true){for(i=0;i<5;i++){ if(j==us[i].User) { flag=false;p=i; break; }if(flag==true) { cout<<"账号不存在!"<<endl;cout<<"请重新输入账号:"; }cin>>j;}}a[p]=0;cout<<"解锁成功"<<endl;in.write((char*)&a,sizeof(a));in.close();continue;}if(n==3){ cout<<"系统初始化"<<endl;fstream out("..\\ATM自动取款机\\jiesuo.dat",ios::out|ios::binary);out.write((char*)&a,sizeof(a));user u[5];int i;fstream iofile("..\\ATM自动取款机\\atm.dat",ios::out|ios::binary);if(!iofile){cerr<<"打开文件失败!";return -1;}for(i=0;i<5;i++){u[i].User=i+1;u[i].Password=i+1;u[i].Money=i+1;}iofile.write((char*)&u,sizeof(u));iofile.close();cout<<"初始化成功!!!"<<endl;continue;}if(n==0){ return 0;}}return 0;}。
C语言程序设计报告(模拟ATM 取款机)仲恺农业工程学院工程实训报告ATM取款机课程名称C语言程序设计工程实训姓名林少烈院(系)计算机科学与工程学院专业班级计算机113班学号201110214317指导教师王成仲恺农业工程学院教务处制目录1 需求分析 (1)2 系统总框图和功能模块说明 (1)2.1 系统总框图 (1)2.2 功能模块说明 (1)3 系统设计 (2)3.1 主要结构体 (2)3.2主要功能函数 (3)3.3 关键函数的流程图 (3)4 系统调试 (11)5 总结 (21)6 源程序清单 (23)6.1头文件 (23)6.2主程序 (23)6.3 解除被冻结用户 (40)6.4 用户注册 (41)1 需求分析所设计的ATM取款机应具备以下功能:●插入银行卡(用账号输入的方式代替);●密码的输入;●用户信息查询;●用户余额查询;●取款;●转账;●修改密码;●退卡。
2 系统总框图和功能模块说明2.1 系统总框图图1 系统总框图2.2 功能模块说明输入用户账号模块:在运行时,完成用户账号的输入(代替插卡);输入账号密码模块:①在输入账号之后,完成用户密码的输入;②在修改密码的过程中,完成用户输入旧密码的功能;信息读取功能模块:完成用户信息的读取;冻结账号功能模块:当输入密码3次错误时,冻结用户账号:查询用户信息模块:完成用户的信息查询(不包括余额查询);查询余额功能模块:完成用户余额的查询;取款功能模块:完成取款功能模块:转账功能模块:完成转职功能;修改密码功能模块:完成用户修改密码功能;退卡功能模块:完成退卡功能(即:退出程序功能)。
3 系统设计3.1 主要结构体用户账号、姓名、密码、余额struct User //用户数据{char num[20]; //用户账号char name[10]; //姓名char password[7]; //密码float balance; //余额};3.2主要功能函数void read_info(); //用户信息读取void input_num(char * num); //输入账号void now_exist(char * num); //判断是否被冻结或不存在void existed(char * num);void input_password(char * p_word,char * W); //输入密码void face(); //界面显示void balance_refer(); //余额查询void choose(int c); //菜单选择void draw_money(); //取款void set_password(); //修改密码void input_new_password(char * old_password); //设置新密码void tran_account(); //转账void stamp(); //打印单条void info_refer(); //信息查询void out(); //退出程序void lock(); //冻结账号void save_info(); //存储信息3.3 关键函数的流程图Nnow_exitedinput_password 流choose 函数流程图draw_money 函数input_new_passwo 读取文件数lock 函数流程图save_info 函数流程图4 系统调试首先运行程序,系统提示输入账号。
自动取款机(ATM)模拟程序一、需求我们需要设计一个具备如下功能的ATM模拟程序。
●开户:用户能够通过ATM来开设帐号,开户需要设置密码。
●登录:用户能够登录到已经开设的帐号上,登录需要验证密码。
●管理帐号:用户登录到帐号上后,能够进行如下的操作。
■存款:将指定的款项存到帐号中。
■取款:从帐号中取出指定的款项。
■查询余额:查询帐号的余额。
■修改密码:修改帐号的密码。
二、分析面向对象编程的第一步是进行面向对象分析。
面向对象分析的目标是建立问题领域的模型,包括如下模型。
●功能模型:即画出每一个功能要求的用例图。
●对象模型:对用例模型进行分析,把系统分解成互相协作的类,通过类图/对象图描述对象、对象的属性、对象间的关系。
●动态模型:描述系统的动态行为,通过序列图来描述对象的交互,以揭示对象间如何写作来完成每个具体的用例,单个对象的状态变化和动态行为可以通过状态图来表达。
1.功能模型根据我们的需求,可以很容易地画出A TM模拟程序的用例图:可以看出,用户可以开户和登录帐号,开户或者登录帐号之后就能管理帐号。
要管理账号,就必须首先登录帐号或者开户。
管理帐号的功能包括存款、取款、查询余额和修改密码。
2.对象模型ATM是银行相连的设备,因此银行是A TM模拟程序的相关对象,所有的操作都是针对帐号的,因此帐号是其中的核心对象。
此外,需要一个程序来启动ATM。
因此,在ATM模拟程序中,我们需要处理四个类,或者说四类对象:启动程序、A TM、银行及帐号。
1)帐号类Account帐号类Account包含所有的帐号信息负责所有的帐号操作。
基本的帐号信息包括:●帐号名name●帐号密码password●帐号余额balance主要的帐号操作包括:●登录Login●存款Deposit●取款Withdraw●查询余额Get_Balance●修改密码ChangePassword2)银行类Bank银行类Bank的本质就是一组帐号的组合,并负责管理帐号。