银行账户管理系统

上传人:无*** 文档编号:91947027 上传时间:2022-05-17 格式:DOC 页数:27 大小:123.50KB
收藏 版权申诉 举报 下载
银行账户管理系统_第1页
第1页 / 共27页
银行账户管理系统_第2页
第2页 / 共27页
银行账户管理系统_第3页
第3页 / 共27页
资源描述:

《银行账户管理系统》由会员分享,可在线阅读,更多相关《银行账户管理系统(27页珍藏版)》请在装配图网上搜索。

1、-面向对象程序设计课程设计报告学生姓名:学 号:学 院:班 级:题 目:银行账户管理系统副教授指导教师: 职称:实验师2015年12月13日. z.-目 录目录I一、选题背景11.1 社会背景11.2 功能需求1二、算法设计12.1 总体设计12.2 详细设计22.2.1 基本功能2.1用户功能2.2 管理员功能32.2.2基本功能模块图5三、程序及功能说明63.1 主要的程序及基本功能实现6四、结果分析144.1 实验结果与分析14五、总结19六、课程设计心得体会20参考文献21源程序22. z.-一、选题背景1.1社会背景随着计算机技术飞速发展及其应用领域的扩大,特别是计算机网络和电子商务

2、的发展,极大地改变了商业银行传统的经营和管理模式。能够为客户提供方便、快捷、安全的服务,也能有效降低银行的运营成本,这是银行管理系统追求的目标。目前,对于现代化银行运营的要求是客户可以实现随时随地的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。如今随着银行信誉的不断提高,人们对银行储蓄愈加依赖,因此银行需要一个更加完善的处理系统,来满足顾客以及银行管理人员的使用。1.2 功能需求通过银行管理系统一方面加快了客户的服务,提高的服务质量,另一方面减轻了员工的工作复杂度,提高了工作效益,实现银行帐户管理的系统化、规范化、自动化和智能化。系统具体实现的目标如下:(1)键盘操作,快速

3、响应。(2)对用户输入的数据,系统会进行严格的数据检验,尽量避免了人为的错误。(3)实现银行开户、取款、存款、查询、转账、修改密码等功能。(4)系统运行稳定,可靠。(5)系统应人性化,符合用户操作习惯。(6)使用控制台进行操作二、算法设计2.1总体分析由客户端程序和服务器端程序构成,客户端运行在面向个人业务的银行柜台的电脑上,通过网络通讯向服务器发送请求并接受服务器端程序的应达显示处理的结果。服务器端处理客户端的各种业务请求。主要实现银行开户、取款、存款、查询、修改密码等功能。本程序主要实现银行开户、取款、存款、查询、修改密码等功能。其中包括用户功能和管理员功能。进入程序后首先选择身份,身份确

4、定后再进行相关的操作。(1)用户功能用户功能包括:登录模块、主菜单模块、存款模块、取款模块、查询模块以及退出功能。(2)管理员功能管理员功能包括:添加用户功能、删除用户功能、查询、修改所有用户基本信息功能、打印用户清单功能以及退出功能。2.2详细设计2.2.1 基本功能用户功能 (1)用户登录功能输入用户名和密码,验证正确后进入系统。表1 用户登录输入处理输出1、用户名2、密码1、密码有三次输入机会2、验证用户名及密码3、用户名及密码正确后进入主菜单界面。如果用户名或者密码不正确,给用户一个友好提示并提示还有几次机会(2)主菜单功能输出主菜单(存款、取款、查询、退出)供用户选择,然后根据用户的

5、输入选择进入不同的系统功能。表2 主菜单功能输入处理输出1、菜单项编号1、验证用户输入的菜单项编号是否正确(03之间);2、根据用户的选择进入不同的功能界面。如果用户输入的菜单项编号不正确,给用户一个友好提示,并要求用户重新输入。(3)存款功能用户在输入账号和密码正确后可选择存款功能,需输入存款金额,金额要大于0。表3 输入存款的基本信息输入处理输出1、账户ID2、存款金额1、输入的所有信息必填。2、验证账户ID3、存款金额大于0.00元如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(4)取款功能用户在输入账号和密码正确后可选择取款功能,需输入取款金额,金额要大于0小于

6、账户余额。表4 输入取款的基本信息输入处理输出1 账户ID、2 密码3取款金额1、验证账户ID。2、验证用户密码。3、取款金额大于0.00元,小于用户账户余额。如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(5)查询功能表5 输入查询基本信息输入处理输出1、账户ID2、密码1、输入的所有信息必填。2、验证账户ID;3、验证密码;如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(6)退出功能给客户退出提示,客户确认后,退出程序。2.2.1.2 管理员功能 (1)管理员添加用户功输入用户的基本信息,添加账户。表6 添加用户功能输入处理输出1、用户姓名2

7、、密码3、开户金额1、开户的所有信息必填2、用户姓名3、密码各项信息完整,提示添加用户成功。(2)管理员删除用户功能输入用户账号表7 删除用户功能输入处理输出1、用户姓名1、开户的所有信息删除成功(3)查询顾客功能管理员可以查询所有用户的基本信息。表8 查询用户功能输入处理输出1、用户姓名2、密码3、账号1、开户的所有信息必填2、用户姓名3、密码用户各项信息。(4)修改顾客功能管理员可以修改所有用户的基本信表9 修改用户功能输入处理输出1、用户姓名2、密码3、账号1、开户的所有信息必填2、用户姓名3、密码修改成功,用户各项信息(5)打印清单功能管理员可以查询用户基本信息,然后进行打印。表10

8、查询所有用户功能输入处理输出1、用户姓名2、密码1、用户姓名2、密码所有用户各项信息。(6)退出功能 给管理员退出提示,管理员确认后,退出程序。2.2.2基本功能模块图存款查询银行管理系统用户管理员退出删除顾客修改顾客查询顾客全部顾客添加顾客退出取款三、程序及功能说明3.1主要的程序及基本功能实现在程序中定义了四个类,分别为:class bankzh ,class Cust,class Admin,class KB(1)第一个菜单选项创建bankzh类中的方法只有main(),创建第一个菜单选项,即选择登录身份。按1是选择管理员,按2是选择用户,按3是退出。publicclass bankzh

9、 publicstaticvoid main(String args) 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.scanI

10、nt();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.println(用户不存在);System.out.println(欢迎下次光临);break;case 3:return;(2)用户的菜单建立. Cust类中定义的方法有checkPWD(),getM(int n),saveM(int n),run(Cust c),printMenu(),1)定义的成员变量有:

11、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.password = password; this.money = money; 2)第二个菜单选项,用户的菜单模块。用户在进行账户和密码输入后,正确则进入菜单功能项,用户的功能有如下,取款、存款、查询、退出功能。static void printMenu()System.out.println(*);Sy

12、stem.out.println(*取款t1*);System.out.println(*存款t2*);System.out.println(*查询t3*);System.out.println(*退出t0*);System.out.println(*);3)用户可以取款,需输入顾客的账号、密码,取款时,系统会给于相应提示。System.out.println(请输入取款金额);int n1 = KB.scan.ne*tInt();this.getM(n1);System.out.println(取款成功);4)用户可以存款,需输入顾客的账号、密码,存款时,系统会给于相应提示。System.o

13、ut.println(请输入存款金额);int n = KB.scan.ne*tInt();this.saveM(n);System.out.println(存款成功);5)用户可以查询,需输入顾客的账号、密码,系统会有提示信息,告知用户。void print()System.out.println(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

14、(),run()方法。1)管理员的功能有添加顾客,删除顾客,查询顾客,修改顾客,打印清单以及退出功能,用switch语句来进行选择,按1选择添加顾客,2选择删除顾客,3选择查询顾客,4选择打印清单,5选择修改顾客,0选择退出。退出是并不是退出系统,而是退出管理员功能,再次进行确认,如果没有人继续登录则进行选择退出程序。void run()boolean flag = true;while (flag)System.out.println(*);System.out.println(*添加顾客t1*);System.out.println(*删除顾客t2*);System.out.println

15、(*查询顾客t3*);System.out.println(*打印清单t4*);System.out.println(*修改顾客t5*);System.out.println(*退出t0*);System.out.println(*);int cmd = KB.scan.ne*tInt();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:fl

16、ag = false;break;2)管理员添加顾客所需填入的顾客基本信息有:顾客姓名,账号,密码以及开户金额。void add()System.out.println(请输入姓名);String name = KB.scanString();System.out.println(请输入账号);int ID = KB.scanInt();System.out.println(请输入密码);int password = KB.scanInt();System.out.println(请输入开户金额);double money = KB.scanDouble();Cust temp = new C

17、ust(name,ID,password,money);v.add(temp);3)管理员可以查询顾客的基本信息,需输入顾客的账号,如果没有该顾客,系统会有提示信息,告诉管理员没有该顾客。void print()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.print();break;if (i = v.size()System.out.println(没

18、有该顾客);4)管理员可以删除顾客的基本信息,需输入顾客的账号,如果没有该顾客,系统会有提示信息,告诉管理员没有该顾客。若删除成功,系统会给于提示。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.print();temp.name=0;temp.ID=0; temp.password=0; temp.money=0;System.o

19、ut.println(删除成功);break;if (i = v.size()System.out.println(没有该顾客);5)管理员可以修改顾客的基本信息,需输入顾客的账号,如果没有该顾客,系统会有提示信息,告诉管理员没有该顾客。void update()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)System.out.println(请输入新姓名);te

20、mp.name=KB.scanString();System.out.println(请输入新密码);temp.password=KB.scanInt();System.out.println(请输入新存款金额);temp.money=KB.scanDouble();System.out.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)

21、;temp.print();(3) KB类中有static int scanInt(),static String scanString(),static Double scanDouble()方法。为了使程序更简洁,定义了KB类。class KB static Scanner scan = new Scanner(System.in);static int scanInt()return scan.ne*tInt();static String scanString()return scan.ne*t();static Double scanDouble()return scan.ne*tD

22、ouble();四、结果分析4.1 实验结果与分析(1)运行程序,会出现选择界面,登陆者首先确认身份。1)选择管理员后出现管理员菜单模块,管理员的功能有添加用户,删除用户,查询用户,打印清单,修改用户和退出功能。管理员添加用户时要填写账户的基本信息。如图所示。实验测试:添加用户,删除用户,查询用户,打印清单,修改用户和退出功能(2)用户进入菜单选项。选择用户选项时,用户要输入账号和密码,全部正确后,进入主菜单模块,用户可进行选择,用户的功能有存款、取款、查询、退出功能。用户在进行存取款时,存款金额要大于0,取款金额要大于0小于账户余额。用户在操作完毕后退出,用户进行确认后,退出程序。如图所示。

23、实验测试:存款、取款、查询、退出功能。(3)用户查看基本资料。由主菜单可以看出用户按1为取款、2为存款、3为查询用户基本资料、0为退出。如图所示,为用户按3键后查询到账户资料的界面,可看出用户名为r,用户ID为111,用户的余额为46333.0元。(4)程序界面友好在管理员、用户系统中,在相应程序功能模块中,在用户相应操作中都给于相应操作提示,方便用户使用。例如在用户登录用户系统时,输入密码,有三次输入机会,并给于相应提示,返回主菜单。五、总 结本程序主要实现银行开户、取款、存款、查询、修改等功能。其中包括用户功能和管理员功能两部分。进入程序后首先选择身份,身份确定后再进行相关的操作。(1)用

24、户功能用户功能包括:登录模块、主菜单模块、存款模块、取款模块、查询模块以及退出功能。 (2)管理员功能管理员功能包括:添加用户功能、删除用户功能、修改用户功能、查询用户功能、查询所有用户基本信息功能以及退出功能。为实现银行开户、取款、存款、查询、修改等基本功能,在程序中定义了四个类,分别为:class bankzh ,class Cust,class Admin,class KB,bankzh类中的main()方法中,创建第一个菜单选项,即选择登录身份。Cust类中定义的方法有checkPWD(),getM(int n),saveM(int n),run(Cust c),printMenu()

25、,定义的成员变量有: String name;int ID;int password;double money;一个Cust()构造函数。以此来实现在用户的菜单模块中,用户在进行账户和密码输入后,正确后进入菜单功能项,用户的功能取款、存款、查询、退出基本功能。Admin类中有Admin(),add(),delete(),printAll(),update(),run()方法。来实现管理员的功能添加顾客,删除顾客,查询顾客,修改顾客,打印清单以及退出功能,管理员用switch语句来进行选择,按1选择添加顾客,2选择删除顾客,3选择查询顾客,4选择打印清单,5选择修改顾客,0选择退出。退出是并不是

26、退出系统,而是退出管理员功能,再次进行确认,如果没有人继续登录则进行选择退出程序。KB类中有static int scanInt(),static String scanString(),static Double scanDouble()方法。KB类定义,解决程序冗余问题,使程序变得更简洁,易懂。. z.-六、课程设计心得体会通过在本次课程设计中,让我们学会了如何去完成一个任务,去解决一个问题。当遇到问题要冷静,想办法一点一点的排除障碍,到最后获取成功,这应该就是学习的乐趣。有时候不懂的就需要问别人了,虚心请教,从别人的身上真的能学到自己没有的东西,每一次的挫折都会使我更接近成功。还有学会了

27、在工作中与别人的合作与交流。这次课程设计在老师和同学那里学到了很多东西,使自己在处理问题方面有了很大的提高。课程设计有不少不足之处,有些问题没得到理想解决。课程设计中需要有扎实的理论基本知识,操作起来才顺心应手,我们这时才明白什么是“书到用时方恨少”。在短暂的实训过程中,让我们深深感受到自己在实际运用中专业知识的匮乏。还需深入学习。. z.-参考文献1 曲朝阳, 郭晓利, 王晓慧, 孙鸿飞. C程序设计(第三版).:清华大学出版社,20052 陈国君, 陈锡祯. Java2程序设计基础M. : 清华大学出版社3 袁海燕. Java实用程序设计100例M. : 人民邮电出版社4 朱站立、沈伟.

28、Java程序设计实用教程M. 电子工业出版社. z.-源程序package bankzh;import java.util.Scanner;import java.util.Vector;publicclass bankzh publicstaticvoid main(String args) Admin a = new Admin();while (true)System.out.println(*);System.out.println(*管理员t1*);System.out.println(*用户t2*);System.out.println(*退出t3*);System.out.pri

29、ntln(*);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.print();temp.run(ID);/Cust b= Cust();break;if (i = a.v.size()System.out.println(用户不存在);S

30、ystem.out.println(欢迎下次光临);break;case 3:return;class CustString name;intID;intpassword;doublemoney;Cust(String name,int ID,int password,double money)this.name = name;this.ID = ID;this.password = password;this.money = money;publicboolean checkPWD()System.out.println(请输入您的密码);for (int i = 0 ; i money)S

31、ystem.out.println(不能透支);returnfalse;money -= n;returntrue;void saveM(int n)this.money += n;void print()System.out.println(name:t+this.name);System.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

32、 flag = true;while (flag)printMenu();int cmd = KB.scan.ne*tInt();switch (cmd)case 1:System.out.println(请输入取款金额);int n1 = KB.scan.ne*tInt();this.getM(n1);System.out.println(取款成功);break;case 2:System.out.println(请输入存款金额);int n = KB.scan.ne*tInt();this.saveM(n);System.out.println(存款成功);break;case 3:thi

33、s.print();break;case 0:flag = false;break;staticvoid printMenu()System.out.println(*);System.out.println(*取款t1*);System.out.println(*存款t2*);System.out.println(*查询t3*);System.out.println(*退出t0*);System.out.println(*);class KB static Scanner scan = new Scanner(System.in);staticint scanInt()returnscan.

34、ne*tInt();static String scanString()returnscan.ne*t();static Double scanDouble()returnscan.ne*tDouble();class Admin Vector v;Admin()v = 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.pr

35、intln(请输入姓名);String name = KB.scanString();System.out.println(请输入账号);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);void delete()System.out.println(请输入要删除顾

36、客的账号);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.println(没有该顾客);void update()System.out.

37、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)System.out.println(请输入新姓名);temp.name=KB.scanString();System.out.println(请输入新密码);temp.password=KB.scanInt();System.out.println(请输入新存款金额);temp.money=KB.scanDouble();System.ou

38、t.println(修改成功);break;if (i = v.size()System.out.println(没有该顾客);void print()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.print();break;if (i = v.size()System.out.println(没有该顾客);void printAll()for (int

39、i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);temp.print();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*)

40、;System.out.println(*);int cmd = KB.scan.ne*tInt();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;. z.-注:设计报告撰写说明一、正文内容要求:正文内容层次序号为: 1、1.1、1.1.1。 正文内容一般为:1、选题背景:说明本课题应解决的主要问题及

41、应达到的技术要求;简述本设计的指导思想。 2、方案论证(设计理念):说明设计原理(理念)并进行方案选择,阐明为什么要选择这个设计方案以及所采用方案的特点。 3、过程论述:对设计工作的详细表述。要求层次分明、表达确切。 4、结果分析:对研究过程中所获得的主要的数据、现象进行定性或定量分析,得出结论和推论。5、结论或总结:对整个研究工作进行归纳和综合。6、课程设计心得体会。二、图纸要求:图面整洁,布局合理,线条粗细均匀,圆弧连接光滑,尺寸标注规范,文字注释必须使用工程字书写;必须按国家规定标准或工程要求绘制。课程设计说明书(报告)中图表、公式一律采用阿拉伯数字连续编号。图序及图名置于图的下方;表序及表名置于表的上方;说明书(报告)中的公式编号,用括号括起来写在右边行末,其间不加虚线。三、格式要求:页边距:上2cm,下2cm,左2.5cm、右2cm;行 距:固定值20磅;页 码:底部居中;字 体:正文宋体小四号字;文中英文用新罗马体小四号字;源程序清单用英文新罗马五号字。每个自然段开始空两格;报告的字数不少于3000(不包括程序清单和图);按规定的模板封面输出,不准自定义封面格式。. z.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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