




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象程序设计课程设计报告学生姓名:学 号:学 院:班 级:题 目:银行账户管理系统 副教授指导教师: 职称: 实验师 2015年12月13日目 录目 录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一、选题背景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)退出功能给客户退出提示,客户确认后,退出程序。 管理员功能 (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是退出。public class ban
9、kzh public static void 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
10、.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.println("用户不存在");System.out.println("欢迎下次光临");break;case
11、 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) = name; this.ID = ID; this.password = password; this.money = money; 2)第二个菜
12、单选项,用户的菜单模块。用户在进行账户和密码输入后,正确则进入菜单功能项,用户的功能有如下,取款、存款、查询、退出功能。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("*&
13、quot;);3)用户可以取款,需输入顾客的账号、密码,取款时,系统会给于相应提示。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("
14、存款成功");5)用户可以查询,需输入顾客的账号、密码,系统会有提示信息,告知用户。void print()System.out.println("name:t"+);System.out.println("ID:t"+this.ID);System.out.println("money:t"+this.money);(3)管理员的功能建立Admin类中有Admin(),add(),delete(),printAll(),update(),run()方法。1)管理员的功能有添加顾客,删除顾客,查询顾客,修改
15、顾客,打印清单以及退出功能,用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(
16、"*查询顾客t3*");System.out.println("*打印清单t4*");System.out.println("*修改顾客t5*");System.out.println("*退出t0*");System.out.println("*");int cmd = KB.scan.nextInt();switch (cmd)case 1:this.add();break;case 2:this.delete();break;case 3:this.print();break;case 4
17、: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("请输入账号");int ID = KB.scanInt();System.out.println("请输入密码");int pass
18、word = 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 = KB.scanInt();int i = 0 ;for (i =
19、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 i = 0
20、;for (i = 0 ; i < v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)temp.print();="0"temp.ID=0; temp.password=0; temp.money=0;System.out.println("删除成功");break;if (i = v.size()System.out.println("没有该顾客");5)管理员可以修改顾客的基本信息,需输入顾客的账号,如果没有该顾客,系统会有提示信息,告诉管
21、理员没有该顾客。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("请输入新姓名");=KB.scanString();System.out.println("请输入新密码");temp.password=KB.sc
22、anInt();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);temp.print();(3) KB类中有static
23、 int scanInt(),static String scanString(),static Double scanDouble()方法。为了使程序更简洁,定义了KB类。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();四、结果分析4.1 实验结果与分析(1)运
24、行程序,会出现选择界面,登陆者首先确认身份。1)选择管理员后出现管理员菜单模块,管理员的功能有添加用户,删除用户,查询用户,打印清单,修改用户和退出功能。管理员添加用户时要填写账户的基本信息。如图所示。实验测试:添加用户,删除用户,查询用户,打印清单,修改用户和退出功能 (2)用户进入菜单选项。选择用户选项时,用户要输入账号和密码,全部正确后,进入主菜单模块,用户可进行选择,用户的功能有存款、取款、查询、退出功能。用户在进行存取款时,存款金额要大于0,取款金额要大于0小于账户余额。用户在操作完毕后退出,用户进行确认后,退出程序。如图所示。实验测试:存款、取款、查询、退出功能。 (3)用户查看基
25、本资料。由主菜单可以看出用户按1为取款、2为存款、3为查询用户基本资料、0为退出。如图所示,为用户按3键后查询到账户资料的界面,可看出用户名为r,用户ID为111,用户的余额为46333.0元。(4)程序界面友好在管理员、用户系统中,在相应程序功能模块中,在用户相应操作中都给于相应操作提示,方便用户使用。例如在用户登录用户系统时,输入密码,有三次输入机会,并给于相应提示,返回主菜单。 五、总 结本程序主要实现银行开户、取款、存款、查询、修改等功能。其中包括用户功能和管理员功能两部分。进入程序后首先选择身份,身份确定后再进行相关的操作。 (1)用户功能用户功能包括:登录模块、主菜单模块、存款模块
26、、取款模块、查询模块以及退出功能。 (2)管理员功能管理员功能包括:添加用户功能、删除用户功能、修改用户功能、查询用户功能、查询所有用户基本信息功能以及退出功能。为实现银行开户、取款、存款、查询、修改等基本功能,在程序中定义了四个类,分别为:class bankzh ,class Cust,class Admin,class KB,bankzh类中的main()方法中,创建第一个菜单选项,即选择登录身份。Cust类中定义的方法有checkPWD(),getM(int n),saveM(int n),run(Cust c),printMenu(),定义的成员变量有: String name;in
27、t ID;int password;double money;一个Cust()构造函数。以此来实现在用户的菜单模块中,用户在进行账户和密码输入后,正确后进入菜单功能项,用户的功能取款、存款、查询、退出基本功能。Admin类中有Admin(),add(),delete(),printAll(),update(),run()方法。来实现管理员的功能添加顾客,删除顾客,查询顾客,修改顾客,打印清单以及退出功能,管理员用switch语句来进行选择,按1选择添加顾客,2选择删除顾客,3选择查询顾客,4选择打印清单,5选择修改顾客,0选择退出。退出是并不是退出系统,而是退出管理员功能,再次进行确认,如果没
28、有人继续登录则进行选择退出程序。KB类中有static int scanInt(),static String scanString(),static Double scanDouble()方法。KB类定义,解决程序冗余问题,使程序变得更简洁,易懂。六、课程设计心得体会通过在本次课程设计中,让我们学会了如何去完成一个任务,去解决一个问题。当遇到问题要冷静,想办法一点一点的排除障碍,到最后获取成功,这应该就是学习的乐趣。有时候不懂的就需要问别人了,虚心请教,从别人的身上真的能学到自己没有的东西,每一次的挫折都会使我更接近成功。还有学会了在工作中与别人的合作与交流。这次课程设计在老师和同学那里学到
29、了很多东西,使自己在处理问题方面有了很大的提高。课程设计有不少不足之处,有些问题没得到理想解决。课程设计中需要有扎实的理论基本知识,操作起来才顺心应手,我们这时才明白什么是“书到用时方恨少”。在短暂的实训过程中,让我们深深感受到自己在实际运用中专业知识的匮乏。还需深入学习。参考文献1 曲朝阳, 郭晓利, 王晓慧, 孙鸿飞. C程序设计(第三版).北京:清华大学出版社,20052 陈国君, 陈锡祯. Java2程序设计基础M. 北京: 清华大学出版社3 袁海燕. Java实用程序设计100例M. 北京: 人民邮电出版社4 朱站立、沈伟. Java程序设计实用教程M. 电子工业出版社源程序pack
30、age bankzh;import java.util.Scanner;import java.util.Vector;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*");System.out.println("*退出t3*"
31、;);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.print();temp.run(ID);/Cust b= Cust();break
32、;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 money) = name;this.ID = ID;this.password = password;this.money = money;publi
33、c boolean checkPWD()System.out.println("请输入您的密码");for (int i = 0 ; i < 3 ; i+ )int password = KB.scan.nextInt();if (password != this.password)if (i != 2)System.out.println("密码错误,请重新输入");elsereturn true;return false;boolean getM(int n)if (n>money)System.out.println("不能透
34、支");return false;money -= n;return true;void saveM(int n)this.money += n;void print()System.out.println("name:t"+);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(&
35、quot;密码错误超过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();this.getM(n1);System.out.println("取款成功");break;case 2:System.out.println("请输入存款金额");int n = KB
36、.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*");System.out.println("*查询t3*");S
37、ystem.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<Cust> v;Adm
38、in()v = new Vector<Cust>();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.pr
39、intln("请输入账号");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("请输入要删除顾客的账号");in
40、t 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();="0"temp.ID=0; temp.password=0; temp.money=0;System.out.println("删除成功");break;if (i = v.size()System.out.println
41、("没有该顾客");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("请输入新姓名");=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("没有该顾客");void print()System.out.println("请输入要查询顾客的账号");int ID
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店建筑设计案例分析
- 2025届陕西省西安市未安区三星小学数学三上期末达标检测模拟试题含解析
- 酒驾危害案例学习专题分析
- 水利水电工程多元化服务模式试题及答案
- 冲刺抢分卷08 备战2025年高考考前仿真模拟卷冲刺抢分卷化学试题08 (辽宁、黑龙江、吉林、内蒙古专用) 含解析
- 中级经济师考试的消费信心指数试题及答案
- 市政工程考试要领与试题答案总结
- 食品安全学核心知识体系与实务框架
- 养殖场疫病防控技术支持协议
- 解析2025年市政工程考试重点试题及答案
- 围手术期肺部感染预防
- 2025年春季安全教育主题班会教育记录
- 编制QC成果的要点分析
- 2024版特种设备重大事故隐患判定准则课件
- 2025年全球及中国钢制螺旋锥齿轮行业头部企业市场占有率及排名调研报告
- 机电一体化专科毕业论文范文
- 品牌推广案例考核试卷
- 《管理学基础》课程标准(含课程思政)
- 2025年春新北师大版数学七年级下册课件 第四章 三角形 问题解决策略:特殊化
- 融资担保行业2024年信用回顾与2025年展望 -新世纪
- 大学语文知到智慧树章节测试课后答案2024年秋南昌大学
评论
0/150
提交评论