银行账户管理系统(1).doc

上传人:豆**** 文档编号:28544092 上传时间:2022-07-28 格式:DOC 页数:38 大小:1.15MB
返回 下载 相关 举报
银行账户管理系统(1).doc_第1页
第1页 / 共38页
银行账户管理系统(1).doc_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《银行账户管理系统(1).doc》由会员分享,可在线阅读,更多相关《银行账户管理系统(1).doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date银行账户管理系统(1)附件1:面向对象程序设计课程设计报告学生姓名:学 号:学 院:班 级:题 目:银行账户管理系统 副教授指导教师: 职称: 实验师 2015年12月13日-目 录目 录I一、选题背景11.1 社会背景11.2 功能需求1二、算法设计12.1 总体设计12.2 详细设计22.2.1 基本功能22.2.1.1 用户功能22.2.1.2 管理员功能32.

2、2.2 基本功能模块图5三、程序及功能说明63.1 主要的程序及基本功能实现6四、结果分析144.1 实验结果与分析14五、总 结19六、课程设计心得体会20参考文献21源程序22一、选题背景1.1 社会背景随着计算机技术飞速发展及其应用领域的扩大,特别是计算机网络和电子商务的发展,极大地改变了商业银行传统的经营和管理模式。能够为客户提供方便、快捷、安全的服务,也能有效降低银行的运营成本,这是银行管理系统追求的目标。目前,对于现代化银行运营的要求是客户可以实现随时随地的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。如今随着银行信誉的不断提高,人们对银行储蓄愈加依赖,因此银行

3、需要一个更加完善的处理系统,来满足顾客以及银行管理人员的使用。1.2 功能需求通过银行管理系统一方面加快了客户的服务,提高的服务质量,另一方面减轻了员工的工作复杂度,提高了工作效益,实现银行帐户管理的系统化、规范化、自动化和智能化。系统具体实现的目标如下:(1)键盘操作,快速响应。(2)对用户输入的数据,系统会进行严格的数据检验,尽量避免了人为的错误。(3)实现银行开户、取款、存款、查询、转账、修改密码等功能。(4)系统运行稳定,可靠。(5)系统应人性化,符合用户操作习惯。(6)使用控制台进行操作二、算法设计2.1 总体分析由客户端程序和服务器端程序构成,客户端运行在面向个人业务的银行柜台的电

4、脑上,通过网络通讯向服务器发送请求并接受服务器端程序的应达显示处理的结果。服务器端处理客户端的各种业务请求。主要实现银行开户、取款、存款、查询、修改密码等功能。本程序主要实现银行开户、取款、存款、查询、修改密码等功能。其中包括用户功能和管理员功能。进入程序后首先选择身份,身份确定后再进行相关的操作。(1)用户功能用户功能包括:登录模块、主菜单模块、存款模块、取款模块、查询模块以及退出功能。(2)管理员功能管理员功能包括:添加用户功能、删除用户功能、查询、修改所有用户基本信息功能、打印用户清单功能以及退出功能。2.2 详细设计2.2.1 基本功能2.2.1.1 用户功能 (1)用户登录功能输入用

5、户名和密码,验证正确后进入系统。表1 用户登录输入处理输出1、用户名2、密码1、密码有三次输入机会2、验证用户名及密码3、用户名及密码正确后进入主菜单界面。如果用户名或者密码不正确,给用户一个友好提示并提示还有几次机会(2)主菜单功能输出主菜单(存款、取款、查询、退出)供用户选择,然后根据用户的输入选择进入不同的系统功能。表2 主菜单功能输入处理输出1、菜单项编号1、验证用户输入的菜单项编号是否正确(03之间);2、根据用户的选择进入不同的功能界面。如果用户输入的菜单项编号不正确,给用户一个友好提示,并要求用户重新输入。(3)存款功能用户在输入账号和密码正确后可选择存款功能,需输入存款金额,金

6、额要大于0。表3 输入存款的基本信息输入处理输出1、账户ID2、存款金额1、输入的所有信息必填。2、验证账户ID3、存款金额大于0.00元如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(4)取款功能用户在输入账号和密码正确后可选择取款功能,需输入取款金额,金额要大于0小于账户余额。表4 输入取款的基本信息输入处理输出1 账户ID、2 密码3取款金额1、验证账户ID。2、验证用户密码。3、取款金额大于0.00元,小于用户账户余额。如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(5)查询功能表5 输入查询基本信息输入处理输出1、账户ID2、密码1、输

7、入的所有信息必填。2、验证账户ID;3、验证密码;如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(6)退出功能给客户退出提示,客户确认后,退出程序。2.2.1.2 管理员功能 (1)管理员添加用户功输入用户的基本信息,添加账户。表6 添加用户功能输入处理输出1、用户姓名2、密码3、开户金额1、开户的所有信息必填2、用户姓名3、密码各项信息完整,提示添加用户成功。(2)管理员删除用户功能输入用户账号表7 删除用户功能输入处理输出1、用户姓名1、开户的所有信息删除成功(3)查询顾客功能管理员可以查询所有用户的基本信息。表8 查询用户功能输入处理输出1、用户姓名2、密码3、账

8、号1、开户的所有信息必填2、用户姓名3、密码用户各项信息。(4)修改顾客功能管理员可以修改所有用户的基本信表9 修改用户功能输入处理输出1、用户姓名2、密码3、账号1、开户的所有信息必填2、用户姓名3、密码修改成功,用户各项信息(5)打印清单功能管理员可以查询用户基本信息,然后进行打印。表10 查询所有用户功能输入处理输出1、用户姓名2、密码1、用户姓名2、密码所有用户各项信息。(6)退出功能 给管理员退出提示,管理员确认后,退出程序。2.2.2 基本功能模块图存款查询银行管理系统用户管理员退出删除顾客修改顾客查询顾客全部顾客添加顾客退出取款三、程序及功能说明3.1 主要的程序及基本功能实现在

9、程序中定义了四个类,分别为:class bankzh ,class Cust,class Admin,class KB(1)第一个菜单选项创建bankzh类中的方法只有main(),创建第一个菜单选项,即选择登录身份。按1是选择管理员,按2是选择用户,按3是退出。public class bankzh public static void main(String args) Admin a = new Admin();while (true)System.out.println(*);System.out.println(*管理员t1*);System.out.println(*用户t2*);

10、System.out.println(*退出t3*);System.out.println(*);int c = KB.scanInt();switch (c)case 1:a.run();break;case 2:System.out.println(请输入您的账号);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i a.v.size() ; i+ )Cust temp = (Cust)a.v.get(i);if (temp.ID = ID)temp.run(ID);break;if (i = a.v.size()System.out.print

11、ln(用户不存在);System.out.println(欢迎下次光临);break;case 3:return;(2)用户的菜单建立. Cust类中定义的方法有checkPWD(),getM(int n),saveM(int n),run(Cust c),printMenu(), 1)定义的成员变量有: String name;int ID;int password;double money;一个Cust()构造函数 Cust(String name,int ID,int password,double money) this.name = name; this.ID = ID; this.

12、password = password; this.money = money; 2)第二个菜单选项,用户的菜单模块。用户在进行账户和密码输入后,正确则进入菜单功能项,用户的功能有如下,取款、存款、查询、退出功能。static void printMenu()System.out.println(*);System.out.println(*取款t1*);System.out.println(*存款t2*);System.out.println(*查询t3*);System.out.println(*退出t0*);System.out.println(*);3)用户可以取款,需输入顾客的账号、

13、密码,取款时,系统会给于相应提示。System.out.println(请输入取款金额);int n1 = KB.scan.nextInt();this.getM(n1);System.out.println(取款成功);4)用户可以存款,需输入顾客的账号、密码,存款时,系统会给于相应提示。System.out.println(请输入存款金额);int n = KB.scan.nextInt();this.saveM(n);System.out.println(存款成功);5)用户可以查询,需输入顾客的账号、密码,系统会有提示信息,告知用户。void print()System.out.pri

14、ntln(name:t+this.name);System.out.println(ID:t+this.ID);System.out.println(money:t+this.money);(3)管理员的功能建立Admin类中有Admin(),add(),delete(),printAll(),update(),run()方法。1)管理员的功能有添加顾客,删除顾客,查询顾客,修改顾客,打印清单以及退出功能,用switch语句来进行选择,按1选择添加顾客,2选择删除顾客,3选择查询顾客,4选择打印清单,5选择修改顾客,0选择退出。退出是并不是退出系统,而是退出管理员功能,再次进行确认,如果没有人

15、继续登录则进行选择退出程序。void run()boolean flag = true;while (flag)System.out.println(*);System.out.println(*添加顾客t1*);System.out.println(*删除顾客t2*);System.out.println(*查询顾客t3*);System.out.println(*打印清单t4*);System.out.println(*修改顾客t5*);System.out.println(*退出t0*);System.out.println(*);int cmd = KB.scan.nextInt();

16、switch (cmd)case 1:this.add();break;case 2:this.delete();break;case 3:this.print();break;case 4:this.printAll();break;case 5:this.update();break;case 0:flag = false;break;2)管理员添加顾客所需填入的顾客基本信息有:顾客姓名,账号,密码以及开户金额。 void add()System.out.println(请输入姓名);String name = KB.scanString();System.out.println(请输入账

17、号);int ID = KB.scanInt();System.out.println(请输入密码);int password = KB.scanInt();System.out.println(请输入开户金额);double money = KB.scanDouble();Cust temp = new Cust(name,ID,password,money);v.add(temp);3)管理员可以查询顾客的基本信息,需输入顾客的账号,如果没有该顾客,系统会有提示信息,告诉管理员没有该顾客。void print()System.out.println(请输入要查询顾客的账号);int ID

18、= KB.scanInt();int i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)temp.print();break;if (i = v.size()System.out.println(没有该顾客);4)管理员可以删除顾客的基本信息,需输入顾客的账号,如果没有该顾客,系统会有提示信息,告诉管理员没有该顾客。若删除成功,系统会给于提示。void delete()System.out.println(请输入要删除顾客的账号);int ID = KB.scanInt();int

19、i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)temp.print();temp.name=0;temp.ID=0; temp.password=0; temp.money=0;System.out.println(删除成功);break;if (i = v.size()System.out.println(没有该顾客);5)管理员可以修改顾客的基本信息,需输入顾客的账号,如果没有该顾客,系统会有提示信息,告诉管理员没有该顾客。void update()System.out.pr

20、intln(请输入要修改顾客的账号);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)System.out.println(请输入新姓名);temp.name=KB.scanString();System.out.println(请输入新密码);temp.password=KB.scanInt();System.out.println(请输入新存款金额);temp.money=KB.scanDouble();System.out.

21、println(修改成功);break;if (i = v.size()System.out.println(没有该顾客);6)管理员可以查询所有顾客的基本信息void printAll()for (int i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);temp.print();(3) KB类中有static int scanInt(),static String scanString(),static Double scanDouble()方法。为了使程序更简洁,定义了KB类。class KB static Scanner scan

22、= new Scanner(System.in);static int scanInt()return scan.nextInt();static String scanString()return scan.next();static Double scanDouble()return scan.nextDouble();四、结果分析4.1 实验结果与分析(1)运行程序,会出现选择界面,登陆者首先确认身份。1)选择管理员后出现管理员菜单模块,管理员的功能有添加用户,删除用户,查询用户,打印清单,修改用户和退出功能。管理员添加用户时要填写账户的基本信息。如图所示。实验测试:添加用户,删除用户,

23、查询用户,打印清单,修改用户和退出功能 (2)用户进入菜单选项。选择用户选项时,用户要输入账号和密码,全部正确后,进入主菜单模块,用户可进行选择,用户的功能有存款、取款、查询、退出功能。用户在进行存取款时,存款金额要大于0,取款金额要大于0小于账户余额。用户在操作完毕后退出,用户进行确认后,退出程序。如图所示。实验测试:存款、取款、查询、退出功能。 (3)用户查看基本资料。由主菜单可以看出用户按1为取款、2为存款、3为查询用户基本资料、0为退出。如图所示,为用户按3键后查询到账户资料的界面,可看出用户名为r,用户ID为111,用户的余额为46333.0元。(4)程序界面友好在管理员、用户系统中

24、,在相应程序功能模块中,在用户相应操作中都给于相应操作提示,方便用户使用。例如在用户登录用户系统时,输入密码,有三次输入机会,并给于相应提示,返回主菜单。 五、总 结本程序主要实现银行开户、取款、存款、查询、修改等功能。其中包括用户功能和管理员功能两部分。进入程序后首先选择身份,身份确定后再进行相关的操作。 (1)用户功能用户功能包括:登录模块、主菜单模块、存款模块、取款模块、查询模块以及退出功能。 (2)管理员功能管理员功能包括:添加用户功能、删除用户功能、修改用户功能、查询用户功能、查询所有用户基本信息功能以及退出功能。为实现银行开户、取款、存款、查询、修改等基本功能,在程序中定义了四个类

25、,分别为:class bankzh ,class Cust,class Admin,class KB,bankzh类中的main()方法中,创建第一个菜单选项,即选择登录身份。Cust类中定义的方法有checkPWD(),getM(int n),saveM(int n),run(Cust c),printMenu(),定义的成员变量有: String name;int ID;int password;double money;一个Cust()构造函数。以此来实现在用户的菜单模块中,用户在进行账户和密码输入后,正确后进入菜单功能项,用户的功能取款、存款、查询、退出基本功能。Admin类中有Adm

26、in(),add(),delete(),printAll(),update(),run()方法。来实现管理员的功能添加顾客,删除顾客,查询顾客,修改顾客,打印清单以及退出功能,管理员用switch语句来进行选择,按1选择添加顾客,2选择删除顾客,3选择查询顾客,4选择打印清单,5选择修改顾客,0选择退出。退出是并不是退出系统,而是退出管理员功能,再次进行确认,如果没有人继续登录则进行选择退出程序。KB类中有static int scanInt(),static String scanString(),static Double scanDouble()方法。KB类定义,解决程序冗余问题,使程序

27、变得更简洁,易懂。六、课程设计心得体会通过在本次课程设计中,让我们学会了如何去完成一个任务,去解决一个问题。当遇到问题要冷静,想办法一点一点的排除障碍,到最后获取成功,这应该就是学习的乐趣。有时候不懂的就需要问别人了,虚心请教,从别人的身上真的能学到自己没有的东西,每一次的挫折都会使我更接近成功。还有学会了在工作中与别人的合作与交流。这次课程设计在老师和同学那里学到了很多东西,使自己在处理问题方面有了很大的提高。课程设计有不少不足之处,有些问题没得到理想解决。课程设计中需要有扎实的理论基本知识,操作起来才顺心应手,我们这时才明白什么是“书到用时方恨少”。在短暂的实训过程中,让我们深深感受到自己

28、在实际运用中专业知识的匮乏。还需深入学习。参考文献1 曲朝阳, 郭晓利, 王晓慧, 孙鸿飞. C程序设计(第三版).北京:清华大学出版社,20052 陈国君, 陈锡祯. Java2程序设计基础M. 北京: 清华大学出版社3 袁海燕. Java实用程序设计100例M. 北京: 人民邮电出版社4 朱站立、沈伟. Java程序设计实用教程M. 电子工业出版社源程序package bankzh;import java.util.Scanner;import java.util.Vector;public class bankzh public static void main(String args)

29、 Admin a = new Admin();while (true)System.out.println(*);System.out.println(*管理员t1*);System.out.println(*用户t2*);System.out.println(*退出t3*);System.out.println(*);int c = KB.scanInt();switch (c)case 1:a.run();break;case 2:System.out.println(请输入您的账号);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i a.v.

30、size() ; i+ )Cust temp = (Cust)a.v.get(i);if (temp.ID = ID)/temp.print();temp.run(ID);/Cust b= Cust();break;if (i = a.v.size()System.out.println(用户不存在);System.out.println(欢迎下次光临);break;case 3:return;class CustString name;int ID;int password;double money;Cust(String name,int ID,int password,double mo

31、ney)this.name = name;this.ID = ID;this.password = password;this.money = money;public boolean checkPWD()System.out.println(请输入您的密码);for (int i = 0 ; i money)System.out.println(不能透支);return false;money -= n;return true;void saveM(int n)this.money += n;void print()System.out.println(name:t+this.name);S

32、ystem.out.println(ID:t+this.ID);System.out.println(money:t+this.money);void run(int iD2)if (this.checkPWD() = false)System.out.println(密码错误超过3次);return;boolean flag = true;while (flag)printMenu();int cmd = KB.scan.nextInt();switch (cmd)case 1:System.out.println(请输入取款金额);int n1 = KB.scan.nextInt();th

33、is.getM(n1);System.out.println(取款成功);break;case 2:System.out.println(请输入存款金额);int n = KB.scan.nextInt();this.saveM(n);System.out.println(存款成功);break;case 3:this.print();break;case 0:flag = false;break;static void printMenu()System.out.println(*);System.out.println(*取款t1*);System.out.println(*存款t2*);

34、System.out.println(*查询t3*);System.out.println(*退出t0*);System.out.println(*);class KB static Scanner scan = new Scanner(System.in);static int scanInt()return scan.nextInt();static String scanString()return scan.next();static Double scanDouble()return scan.nextDouble();class Admin Vector v;Admin()v =

35、new Vector();v.add(new Cust(小王,111,111,1000);v.add(new Cust(小红,222,222,2000);v.add(new Cust(小张,333,333,3000);v.add(new Cust(小强,444,444,4000);void add()System.out.println(请输入姓名);String name = KB.scanString();System.out.println(请输入账号);int ID = KB.scanInt();System.out.println(请输入密码);int password = KB.s

36、canInt();System.out.println(请输入开户金额);double money = KB.scanDouble();Cust temp = new Cust(name,ID,password,money);v.add(temp);void delete()System.out.println(请输入要删除顾客的账号);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)/temp=new Cust(0,0,0,0);temp.print();temp.name=0;temp.ID=0; temp.password=0; temp.money=0;System.out.println(删除成功);break;if (i = v.size()System.out.pri

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁