课程设计-ATM柜员机模拟程序

合集下载

java课程设计ATM柜员机模拟程序

java课程设计ATM柜员机模拟程序

数据库连接:使用JDBC连接 数据库,进行数据查询
查询语句:编写SQL查询语句, 根据用户输入进行查询
结果展示:将查询结果以列表 或表格形式展示给用户
05
AT M 柜 员 机 的 数 据 库 设计
数据库表结构设计
用户表:存储用户信息,包括用户名、密码、余额等 交易表:记录用户的交易信息,包括交易时间、交易金额、交易类型等 账户表:存储账户信息,包括账户编号、账户类型、账户余额等 银行信息表:存储银行信息,包括银行名称、银行地址、银行电话等 系统日志表:记录系统操作日志,包括操作时间、操作人、操作内容等
网络中断等
性能测试与优化
测试方法:压力测 试、负载测试、稳 定性测试等
测试工具: JMeter、 LoadRunner等
优化目标:提高系 统响应速度、减少 资源消耗、提高系 统稳定性等
优化方法:代码优 化、数据库优化、 缓存优化等
调试过程与问题解决
测试环境搭建:安装Java开发环境,配置 数据库,安装模拟器等
06
AT M 柜 员 机 的 测试与调试
01 添加章节标题
02
AT M 柜 员 机 模 拟 程 序 概述
AT M 柜 员 机 的 基 本 功 能
存 款 : 用 户 可 以 将 现 金 存 入 AT M 柜 员 机 , 系统会自动识别并记录存款金额
转 账 : 用 户 可 以 通 过 AT M 柜 员 机 进 行 转 账操作,系统会自动记录转账信息
异地备份:将 备份数据存储 在异地,防止 自然灾害等意 外情况导致的
数据丢失
访问控制:设 置严格的访问 控制策略,防 止未授权访问
安全审计:定 期进行安全审 计,及时发现 并修复安全漏

c模拟取款机课程设计

c模拟取款机课程设计

c 模拟取款机课程设计一、课程目标知识目标:1. 学生能够理解ATM机的基本工作原理和功能操作流程;2. 学生能够掌握运用编程语言进行ATM机模拟程序的设计;3. 学生能够运用基本的数学运算实现账户余额的查询、取款和存款功能。

技能目标:1. 学生能够运用所学知识,独立设计并编写一个简单的ATM取款机模拟程序;2. 学生能够通过编程解决实际问题,提高逻辑思维和问题解决能力;3. 学生能够通过团队协作,共同完成项目任务,提高沟通与协作能力。

情感态度价值观目标:1. 学生能够认识到编程在生活中的实际应用,增强学习信息技术的兴趣;2. 学生能够在项目实践中体会团队合作的重要性,培养合作精神;3. 学生能够通过解决实际问题,认识到学习知识可以改善生活,提高社会责任感。

分析课程性质、学生特点和教学要求,本课程旨在帮助学生在掌握ATM机基本知识的基础上,运用编程技能实现模拟程序的设计,培养学生解决实际问题的能力。

课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果,为后续的教学设计和评估提供依据。

二、教学内容1. 理论知识:- 了解ATM机的基本功能及其工作原理;- 学习编程语言的基本语法和结构;- 掌握条件语句、循环语句和函数的定义与使用。

2. 实践操作:- 设计并编写ATM机模拟程序;- 实现账户余额查询、取款、存款和退出功能;- 学习调试程序,解决编程过程中遇到的问题。

3. 教学大纲:- 第一周:ATM机基本功能介绍,学习编程语言基础;- 第二周:编写ATM机模拟程序,实现查询余额和取款功能;- 第三周:实现存款和退出功能,学习调试程序;- 第四周:项目展示与评价,总结反馈。

4. 教材章节:- 《信息技术》第三章:程序设计基础;- 《信息技术》第四章:算法与程序设计。

教学内容根据课程目标进行选择和组织,保证科学性和系统性。

教学大纲明确了教学内容的安排和进度,确保学生在学习过程中逐步掌握所需知识,为实践操作打下坚实基础。

java模拟atm课程设计

java模拟atm课程设计

java模拟atm 课程设计一、课程目标知识目标:1. 学生能理解ATM机的基本功能和工作原理,掌握运用Java语言实现ATM 功能的相关知识。

2. 学生能掌握面向对象编程思想,运用类和对象的概念实现ATM功能模块。

3. 学生了解异常处理在程序设计中的重要性,并能运用try-catch语句处理可能出现的异常。

技能目标:1. 学生能运用所学知识,设计并实现一个具备基本功能的ATM模拟系统。

2. 学生能运用控制台输入输出,实现用户与ATM机之间的交互。

3. 学生能运用所学调试技巧,对ATM模拟系统进行测试和优化。

情感态度价值观目标:1. 学生通过实际操作,培养解决问题的能力和团队合作精神。

2. 学生在编程实践中,增强对计算机科学的兴趣和热爱,树立正确的价值观。

3. 学生通过学习,认识到编程在实际生活中的应用,提高学习的积极性。

本课程针对高年级学生,课程性质为实践性较强的学科。

在教学过程中,要求关注学生的个体差异,充分调动学生的主观能动性,引导他们通过自主探究、合作学习等方式,实现课程目标。

课程目标分解为具体学习成果,以便教师在教学设计和评估中,关注学生在知识、技能和情感态度价值观方面的全面发展。

二、教学内容1. 理论知识:- Java面向对象编程基础:类与对象、继承与多态、封装与抽象;- 异常处理:异常的概念、try-catch-finally结构、自定义异常;- 控制台输入输出:Scanner类、System.out.print/println方法。

2. 实践操作:- ATM功能模块设计:账户类、ATM类、用户界面类;- 功能实现:登录、查询余额、取款、存款、退出;- 异常处理:输入非法数据、余额不足等异常处理。

3. 教学大纲:- 第一阶段:Java面向对象编程基础学习(1课时);- 第二阶段:异常处理知识学习(1课时);- 第三阶段:控制台输入输出操作学习(1课时);- 第四阶段:ATM功能模块设计及功能实现(2课时);- 第五阶段:项目测试与优化(1课时)。

java课程设计ATM柜员机模拟程序

java课程设计ATM柜员机模拟程序

课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:ATM柜员机模拟程序院系:信息技术学院班级:设计者:学号:指导教师:设计时间:2016-1-4-2016-1-8信息技术学院昆明学院课程设计(大作业)任务书课程设计(大作业)报告一、题目分析1.系统需求分析(1)设计目标:随着市场经济的繁荣发展,人们的物质生活得到极大的提高,手中的剩余资金也日益增多。

受传统观念影响,绝大多数人喜欢把资金投进银行,而在需要使用现金的时候再到银行提取现金。

这就导致银行业务的急剧增加。

虽然银行网点越来越多,银行的工作效率也随着信息化有较明显的增长,但是依旧不能满足广大用户的需要。

而一味的增加营业网点,从理论上虽然能稍微的缓解银行的压力,但是治标不治本,而且每增加一个网点,不仅要付出昂贵的资金成本,还需要长期投入人力资本,成本非常之昂贵。

这时候就迫切的需要一种自动的,易于普及的,低成本的设备来解决这一问题。

于是ATM机系统应运而生了。

自动柜员机,即ATM,是指银行在不同地点设置一种小型机器,利用一张信用卡大小的胶卡上的磁带记录客户的基本户口资料(通常就是银行卡),让客户可以透过机器进行提款、存款、转账等银行柜台服务,大多数客户都把这种自助机器称为自动提款机。

本文正是通过设计一个ATM模拟模拟程序来实现ATM机系统的基本功能,充分运用自己所学的Java知识进行设计编程。

(2)题目设计要求:本ATM柜员机的主要功能如下所述:要求使用图形用户界面。

当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:●查询余额:初始余额为10000元。

●ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

●ATM存款:不能出现负存款。

●修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

自动取款机(ATM)模拟程序(C#控制台应用程序)

自动取款机(ATM)模拟程序(C#控制台应用程序)

自动取款机(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的本质就是一组帐号的组合,并负责管理帐号。

ATM柜员机模拟程序-课程设计报告

ATM柜员机模拟程序-课程设计报告

《Java程序设计》课程设计报告题目ATM柜员机模拟程序姓名学号性别所在班级指导教师二〇一二年十二月二十九日目录一前言 (1)1.1 课程设计题目 (1)1.2 课程设计完成地点 (1)1.3 系统概述 (1)1.3.1课程设计介绍 (1)1.3.2 课程设计目的 (1)1.3.3 课程设计内容 (2)1.4 相关技术 (2)二需求分析 (3)2.1 功能需求 (3)2.2 界面需求 (3)2.2.1窗体的设计 (4)2.2.2窗体的主要结构的设计 (4)三功能设计 (5)3.1 系统总体结构 (5)3.2 系统模块 (5)3.3 主要相关类 (6)四详细设计 (8)4.1登陆页面模块设计 (8)4.2选择服务模块设计 (9)4.3取款模块设计 (10)4.4修改密码模块设计 (11)4.5退卡模块设计 (12)4.6异常处理情况说明 (12)4.7系统实现与测试 (12)五总结 (14)5.1遇到的问题及解决办法 (14)5.2心得体会 (14)六感谢 (15)一前言1.1 课程设计题目ATM柜员机模拟程序1.2 课程设计完成地点文理楼A5041.3 系统概述1.3.1课程设计介绍本次JAVA游戏开发课程设计在文理楼机房进行,为期一周。

这次课程设计的主要目的是结合面向对象程序设计课程,培养我们面向对象软件开发的思维,初步了解软件开发的一般流程,提高用JAVA编程的实际动手能力并增强大家对面向对象的了解。

这次课程设计的主要内容是独立用JAVA语言开发一个简单的应用程序。

我所设计的是ATM柜员机。

随着市场经济的繁荣发展,人们物质生活得到了极大的提高,手中剩余资金日益增多,受传统观念的影响,绝大多数人喜欢把暂时不用的资金存入银行,而在需要现金时去银行提现,这就导致了银行业务的急剧增加。

最然银行网点越来越多,银行工作人员效率也随着信息化有明显增长,但依旧不能及时满足广大储户的需求。

而一味的增加营业网点,从理论上讲虽有缓解此问题的功效,但是建立一个网点需要付出昂贵的资金,还要不断注入人力资源。

c++课程设计(论文)模拟atm柜员机程序

c++课程设计(论文)模拟atm柜员机程序

北京理工大学珠海学院课程设计任务书一、课程设计题目《模拟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自动取款机程序设计

ATM自动取款机程序设计

ATM自动取款机程序设计1. 简介本文将讨论如何设计一个简单的ATM自动取款机程序,该程序可以实现用户账户余额查询、取款和存款功能。

2. 系统需求用户可以通过输入银行卡号和密码进行登录;用户登录成功后,可以选择查询余额、取款或存款等操作;用户可以选择退出系统,退出时应安全地清除用户登录信息。

3. 程序设计3.1 用户登录用户需要输入银行卡号和密码进行登录。

系统应提供一个登录函数,接受用户输入并验证登录信息的正确性。

如果登录成功,则进入主菜单;如果登录失败,则要求重新输入。

3.2 主菜单登录成功后,用户将进入主菜单,可以选择查询余额、取款或存款等操作。

主菜单应该提供以下功能选项:1. 查询余额:用户可以查询当前账户余额;2. 取款:用户可以输入取款金额并从账户余额中扣除相应金额;3. 存款:用户可以输入存款金额并将金额添加到账户余额中;4. 退出系统:用户选择退出系统。

3.3 查询余额查询余额功能应该调用一个查询余额函数,该函数将返回用户当前账户的余额信息,并将其显示在屏幕上。

3.4 取款取款功能应调用一个取款函数,该函数需要用户输入取款金额,并检查账户余额是否足够。

如果账户余额足够,应从账户余额中扣除相应金额;否则,应提示用户余额不足。

3.5 存款存款功能应调用一个存款函数,该函数需要用户输入存款金额,并将金额添加到账户余额中。

3.6 退出系统退出系统功能应调用一个退出系统函数,该函数应安全地清除用户登录信息,并结束程序运行。

4.本文讨论了一个简单的ATM自动取款机程序设计。

程序包括用户登录、主菜单、查询余额、取款、存款和退出系统等功能。

您可以将本文提供的设计思路作为参考,根据实际需求进行进一步的开发和完善。

java课程设计-ATM柜员机模拟程序

java课程设计-ATM柜员机模拟程序

java课程设计-ATM柜员机模拟程序ATM柜员机模拟程序文档1、简介1.1 目的1.2 背景1.3 范围2、系统需求分析2.1 功能需求2.1.1 用户身份认证2.1.2 查询账户余额2.1.3 存款2.1.4 取款2.1.5 转账2.1.6 交易明细查询2.1.7 修改密码2.2 非功能需求2.2.2 可靠性2.2.3 可维护性3、概要设计3.1 系统结构3.1.1 用户界面模块 3.1.2 业务逻辑模块 3.1.3 数据访问模块 3.2 类图3.3 时序图3.4 数据库设计4、详细设计4.1 用户身份认证模块设计 4.1.1 输入验证4.1.2 身份验证4.2 查询账户余额模块设计 4.2.1 数据库查询4.3 存款模块设计4.3.1 输入验证4.3.2 更新账户余额 4.4 取款模块设计4.4.1 输入验证4.4.2 更新账户余额 4.5 转账模块设计4.5.1 输入验证4.5.2 更新账户余额 4.6 交易明细查询模块设计 4.6.1 数据库查询4.6.2 显示交易明细 4.7 修改密码模块设计4.7.1 输入验证4.7.2 更新密码5、测试计划5.1 单元测试5.2 集成测试5.3 系统测试5.4 用户验收测试6、部署计划6.1 环境要求6.2 部署步骤7、维护与支持7.1 维护流程7.2 支持渠道8、附件8.1 用户界面设计稿8.2 数据库设计文档9、法律名词及注释9.1 ATM(Automatic Teller Machine):自动柜员机9.2 用户身份认证:通过用户输入的身份信息进行验证确认用户身份的过程9.3 查询账户余额:用户查询银行账户中的可用余额的操作9.4 存款:用户将现金存入银行账户的操作9.5 取款:用户从银行账户中取出指定金额的现金的操作9.6 转账:用户将一定金额从自己的账户转移到其他账户的操作9.7 交易明细查询:用户查询银行账户的交易明细记录的操作9.8修改密码:用户修改自己的银行账户密码的操作。

C++程序设计课程设计ATM取款机模拟程序

C++程序设计课程设计ATM取款机模拟程序

课程设计任务书课程名称: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)考核方式⏹课程设计结束时,在机房当场验收。

java课程设计-ATM柜员机模拟程序

java课程设计-ATM柜员机模拟程序

感谢您的耐心观看
汇报人:
添加标题
操作选择:用户选择 要进行的操作
添加标题
操作执行:执行用户 选择的操作,如存款、 取款、转账等
添加标题
操作结果:显示操作 结果,如存款成功、 取款成功、转账成功 等
添加标题
用户退出:用户选择 退出系统,结束程序
程序运行环境
操作系统: Windows、 Linux、Mac
OS等
开发环境: Java
登录按钮:点击登录,验证用户名和密 码
界面美化:使用美观的图标和颜色,提 高用户体验
账户管理模块实现
账户创建: 用户输入 账户信息, 系统自动 生成账户
账户查询: 用户输入 账户号, 系统返回 账户信息
账户修改: 用户输入 账户号和 修改信息, 系统更新 账户信息
账户删除: 用户输入 账户号, 系统删除 账户信息
系统从用户账户 中扣除存款金额
系统将存款金额 存入用户账户
查询余额模块实现
系统从数据库中获取用户银 行卡余额信息
系统将余额信息显示在界面 上
用户输入银行卡号,系统验 证银行卡号是否正确
用户可以查看自己的账户余 额
ATM柜员机模拟程序测 试
测试用例设计
不足:在程序实现过程中遇到了一些困难,如算法优化、界面设计等
展望:希望在未来的学习中,能够更深入地了解Java编程,提高编程能力,实现 更复杂的程序设计
对未来改进和发展的建议
增加用户界面友 好性,提高用户 体验
优化算法,提高 程序运行效率
增加安全机制, 确保用户数据安 全
拓展功能,如支 持在线支付、转 账等
转账:用户可以将资金从一个账户转移到另一个账户。
添加项标题

java课程设计ATM柜员机模拟程序

java课程设计ATM柜员机模拟程序

课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:ATM柜员机模拟程序院系:信息技术学院班级:设计者:学号:指导教师:设计时间:2016-1-4-2016-1-8信息技术学院昆明学院课程设计(大作业)任务书课程设计(大作业)报告一、题目分析1.系统需求分析(1)设计目标:随着市场经济的繁荣发展,人们的物质生活得到极大的提高,手中的剩余资金也日益增多。

受传统观念影响,绝大多数人喜欢把资金投进银行,而在需要使用现金的时候再到银行提取现金。

这就导致银行业务的急剧增加。

虽然银行网点越来越多,银行的工作效率也随着信息化有较明显的增长,但是依旧不能满足广大用户的需要。

而一味的增加营业网点,从理论上虽然能稍微的缓解银行的压力,但是治标不治本,而且每增加一个网点,不仅要付出昂贵的资金成本,还需要长期投入人力资本,成本非常之昂贵。

这时候就迫切的需要一种自动的,易于普及的,低成本的设备来解决这一问题。

于是ATM机系统应运而生了。

自动柜员机,即ATM,是指银行在不同地点设置一种小型机器,利用一张信用卡大小的胶卡上的磁带记录客户的基本户口资料(通常就是银行卡),让客户可以透过机器进行提款、存款、转账等银行柜台服务,大多数客户都把这种自助机器称为自动提款机。

本文正是通过设计一个ATM模拟模拟程序来实现ATM机系统的基本功能,充分运用自己所学的Java知识进行设计编程。

(2)题目设计要求:本ATM柜员机的主要功能如下所述:要求使用图形用户界面。

当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:●查询余额:初始余额为10000元。

●ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

●ATM存款:不能出现负存款。

●修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

c课程设计atm机

c课程设计atm机

c 课程设计atm机一、教学目标本章节的教学目标是让学生了解ATM机的基本原理和操作流程,掌握相关编程技能,培养他们解决实际问题的能力。

具体包括:1.知识目标:学生能够理解ATM机的工作原理,熟悉ATM机的各项功能,如取款、存款、查询等。

2.技能目标:学生能够运用C语言进行简单的ATM机模拟程序编写,培养他们的编程能力和逻辑思维能力。

3.情感态度价值观目标:通过学习ATM机的相关知识,学生能够认识到科技对生活的便利性,激发他们对计算机科学的兴趣和热情。

二、教学内容本章节的教学内容主要包括ATM机的基本原理、操作流程以及C语言编程。

具体安排如下:1.第一课时:介绍ATM机的基本原理和功能,让学生了解ATM机的工作方式。

2.第二课时:讲解ATM机的操作流程,让学生熟悉如何使用ATM机进行各种操作。

3.第三课时:介绍C语言编程基础,让学生掌握编写ATM机模拟程序所需的知识。

4.第四课时:引导学生运用C语言编写简单的ATM机模拟程序,培养他们的编程能力。

三、教学方法为了激发学生的学习兴趣和主动性,本章节将采用以下教学方法:1.讲授法:讲解ATM机的基本原理、操作流程和C语言编程基础。

2.案例分析法:分析实际生活中的ATM机使用案例,让学生更好地理解ATM机的作用。

3.实验法:引导学生动手编写ATM机模拟程序,培养他们的实际操作能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的C语言编程教材,为学生提供扎实的理论基础。

2.参考书:提供相关的ATM机技术资料,拓宽学生的知识视野。

3.多媒体资料:制作精美的PPT,直观地展示ATM机的工作原理和操作流程。

4.实验设备:准备计算机及相关设备,让学生能够顺利进行编程实践。

五、教学评估为了全面反映学生的学习成果,本章节的教学评估将采取以下方式:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,以考察他们的学习态度和积极性。

c语言课程设计atm模拟系统

c语言课程设计atm模拟系统

c语言课程设计atm模拟系统一、教学目标本课程的教学目标是使学生掌握C语言的基本语法和编程技巧,能够运用C语言设计并实现一个ATM模拟系统。

具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。

–理解函数、指针、 arrays、strings等核心概念。

–学习结构体和文件操作等高级特性。

2.技能目标:–能够使用C语言进行程序设计和调试。

–掌握结构化程序设计方法,具有良好的编程习惯。

–能够运用C语言设计并实现简单的数据结构和算法。

3.情感态度价值观目标:–培养学生对计算机科学的兴趣和热情。

–增强学生的团队协作能力和问题解决能力。

–培养学生的创新思维和自主学习能力。

二、教学内容教学内容以C语言的基本语法和编程技巧为主线,详细讲解ATM模拟系统的实现过程。

具体安排如下:1.C语言基础:介绍C语言的基本语法、数据类型、运算符、控制结构等。

2.数据结构:讲解常用的数据结构如数组、链表、栈、队列等,并介绍其在ATM系统中的应用。

3.函数和指针:讲解函数的定义、调用和返回值,以及指针的概念和应用。

4.文件操作:讲解文件的打开、读写、关闭等操作,以及文件权限的管理。

5.高级特性:介绍结构体、共用体、位字段、动态内存分配等高级特性。

6.ATM模拟系统设计:讲解ATM系统的基本功能,如账号管理、密码验证、余额查询、存款取款等,并指导学生设计并实现相应的模块。

三、教学方法本课程采用多种教学方法相结合的方式,包括:1.讲授法:讲解C语言的基本语法和数据结构,引导学生理解并掌握相关概念。

2.案例分析法:分析ATM系统的实际案例,让学生了解并掌握ATM系统的设计和实现方法。

3.实验法:让学生动手编写代码,实现ATM模拟系统的各个功能模块,增强学生的实践能力。

4.讨论法:学生进行团队讨论,分享学习心得和问题解决经验,提高学生的团队协作能力。

四、教学资源1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。

C语言ATM程序模拟

C语言ATM程序模拟

C语言A T M程序模拟As a person, we must have independent thoughts and personality.一、课题要求1、当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统。

2、查询余额:初始余额为10000元。

3、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

4、ATM存款:不能出现负存款。

5、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

二、代码#include ""#include ""#include ""#include ""#include ""void gotoxy(int x,int y); 改密码 *\n");printf("* 2.查询余额 *\n");printf("* 3.取款 *\n");printf("* 4.实时存款 *\n");printf("* 5.退出 *\n");printf("********************************\n");switch(getch()){case '1': mima(); break;case '2': yu_e(); break;case '3': qukuan(); break;case '4': cunkuan(); break;case '5': exit(); break;default:printf("error\n");}}回 2.退出 *\n");printf("* *\n"); printf("* *\n"); printf("********************************\n"); switch(getch()){case '1': caozuo(); break;case '2': exit(); break;}}. *\n");printf("* *\n"); printf("* *\n");printf("********************************\n"); delay();delay();system("cls");printf("********************************\n"); printf("* *\n"); printf("* 您的余额为 *\n"); printf("* *\n"); printf(" ");printf("%d",YU_E);printf("\n* *\n"); printf("* 1.返回 2.退出 *\n"); printf("********************************\n"); switch(getch()){case '1': caozuo(); break;case '2': exit(); break;}}它 *\n");printf("* *\n"); printf("* 7.返回 8.退出 *\n"); printf("********************************\n");switch(getch()){case '1': panduan(100); break;case '2': panduan(200); break;case '3': panduan(500); break;case '4': panduan(800); break;case '5': panduan(1000); break;case '6':system("cls");printf("********************************\n");printf("* *\n");printf("* 请输入您要取款的金额 *\n");printf("* *\n");printf("* *\n");printf("* *\n");printf("* *\n");printf("********************************\n");gotoxy(14,4);scanf("%d",&temp);panduan(temp); break;case '7':caozuo(); break;case '8':exit(); break;}}回 2.退出 *\n");printf("* *\n");printf("********************************\n");switch(getch()){case '1': qukuan();case '2': exit();}}beishu=z%100;if(beishu!=0){system("cls");delay();printf("********************************\n");printf("* *\n");printf("* 本ATM机只支持 100 的人民币 *\n");printf("* 请重新操作 *\n");printf("* *\n");printf("* 1.返回 2.退出 *\n");printf("* *\n");printf("********************************\n");switch(getch()){case '1': qukuan();case '2': exit();}}if(z==5000||z>5000){system("cls");printf("********************************\n");printf("* *\n");printf("* 每次取款不能超过 5000 元 *\n");printf("* 请重新操作 *\n");printf("* *\n");printf("* 1.返回 2.退出 *\n");printf("* *\n");printf("********************************\n");switch(getch()){case '1': qukuan();case '2': exit();}}YU_E=YU_E-z;success();}. *\n");printf("* *\n"); printf("* *\n"); printf("********************************\n"); delay();delay();system("cls");printf("********************************\n"); printf("* *\n"); printf("* 操作已成功 *\n"); printf("* *\n"); printf("* 1.返回 2.退出 *\n"); printf("* *\n"); printf("* *\n"); printf("********************************\n"); switch(getch()){case '1':caozuo(); break;case '2':exit(); break;}}. *\n");printf("* *\n");printf("* *\n");printf("********************************\n");delay();delay();enter_ATM();}//================================================================/ ///============== 简单转移函数=============//void zhuangyi(){mima();}//========================================//三、部分效果截图。

课程设计-ATM柜员机模拟程序

课程设计-ATM柜员机模拟程序

软件学院课程设计报告书课程名称面向对象程序设计设计题目ATM柜员机模拟程序专业班级软件工程学号姓名指导教师刘腊梅2015年月目录1 设计时间 (1)2 设计目的 (1)3 设计题目 (1)4 设计任务 (1)5 设计内容 (1)5.1 kehu类代码 (1)5.2 ATM主界面模块设计 (2)5.3 选择页面模块设计 (5)5.4 存款模块设计 (8)5.5 取款模块设计 (11)5.6 查询余额模块设计 (16)5.7 修改密码模块设计 (18)6 总结与展望 (23)参考文献 (24)成绩评定 (24)new ATM();}}主界面密码输入错误提示栏5.3 选择页面模块设计class XUANZE extends JFrame implements ActionListener//导入接口类{new CUNKUAN(key); //进入CUNKUANsetVisible(false);}if (event.getSource() == jb3) //判断是否是jb3{new CHAXUN(key); //进入CHAXUNsetVisible(false);}}}进入选择界面5.4存款模块设计class CUNKUAN extends JFrame implements ActionListener//导入接口类{JPanel p2, p3; //定义个面板JLabel l1; //定义个标签JButton jb1, jb2; //定义个按钮JTextField jtf1; //定义一个文本框Container content; //定义一个容器存款界面存款成功5.5 取款模块设计class QUKUAN extends JFrame implements ActionListener//导入接口类{JPanel p2, p3; //定义个面板JLabel l1; //定义个标签JOptionPane.showMessageDialog(this, "金额不足不许透支");//一个提示框提示你你的卡即将要已透支}}if (e.getSource() == jb2)//判断是是否是jb2{new XUANZE(key); //返回XUANZEsetVisible(false);}}取款界面取款成功金额不足取款失败提示提取金额不许超过五千提取金额需为一百的整数{new XUANZE(key); //返回XUANZEsetVisible(false);}}开户资金10000元存700后查询余额再取款900后查询余额5.7 修改密码模块设计class Xgmm extends JFrame implements ActionListener//导入接口类{JPanel p2, p3; //定义个面板JLabel l1, l2, l3, l4; //定义个标签JPasswordField jtf1, jtf2, jtf3; //定义个文本框JButton jb1, jb2; //定义个按钮Container content; //定义一个容器kehu key; //定义客户类传从参数key public Xgmm(kehu key){this.key=key; //把key传到顶层容器p2=new JPanel(); //定义第二个面板l2=new JLabel("请输入原始密码:"); //定义标签请输入原始密码:l3=new JLabel("输入要修改的密码:"); //定义标签输入要修改的密码l4=new JLabel("确认输入的新密码:"); //定义标签确认输入的新密码:jtf1 = new JPasswordField(15); //定义文本框jtf1原密码输入错误提示修改失败两次输入密码不一修改失败密码不足六位修改失败密码各位都相同修改失败输入规范修改密码成功6 总结与展望通过本次的课程设计,是我更加的喜欢上了JA V A,这正是我一直想学的计算机实用语音。

(2021年整理)本人java课设,ATM柜员机模拟程序,共参考

(2021年整理)本人java课设,ATM柜员机模拟程序,共参考

本人java课设,ATM柜员机模拟程序,共参考(推荐完整)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(本人java课设,ATM柜员机模拟程序,共参考(推荐完整))的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为本人java课设,ATM柜员机模拟程序,共参考(推荐完整)的全部内容。

本人java课设,ATM柜员机模拟程序,共参考(推荐完整)编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望本人java课设,ATM柜员机模拟程序,共参考(推荐完整)这篇文档能够给您的工作和学习带来便利.同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为 <本人java课设,ATM柜员机模拟程序,共参考(推荐完整)〉这篇文档的全部内容。

ATM柜员机模拟程序一、实训设备与工具个人计算机(奔腾486档以上),windowsXP,JCreator或Editplus 编译开发环境二、实验目的与要求目的:掌握图形用户界面设计方法,掌握常用swing组件的使用和事件处理程序设计;掌握文件的I/O操作或程序对数据库的访问要求:当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以进行:1 、查询余额:初始余额为1000元2 、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支3 、ATM存款:不能出现负存款4 、修改密码:新密码长度不小于6为,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

自动取款机模拟程序

自动取款机模拟程序

合肥学院计算机科学与技术系课程设计报告2013~2014学年第一学期课程面向对象课程设计课程设计名称自动取款机模拟程序学生姓名学号专业班级指导教师2013 年12月目录一、前言 (4)二、需求分析 (5)1、功能需求 (5)(1)、管理端方面 (5)(2)、客户端方面 (5)(3)、满足上述要求的系统基本功能外还应该实现基本的安全控制机制。

(5)2、性能需求 (5)3、出错处理需求 (5)三、设计理论和环境 (6)1、系统设计理论 (6)2、系统设计环境 (6)四、系统数据库设计 (7)1、数据库构建语句 (7)2、表构建语句 (7)五、总体设计 (8)(一)、主登陆界面 (8)(二)、管理端界面 (8)1、主界面 (8)2、增加银行卡账户界面 (9)3、删除银行卡账户对话框 (9)4、查询 (10)5、显示全部 (10)(三)、客户端界面 (11)1、客户端登陆界面 (11)2、客户端操作界面 (11)3、余额查询 (12)4、存款 (12)5、取款 (13)6、修改密码 (13)7、返回 (14)8、退卡 (14)六、具体设计 (15)1、类及其主要功能 (15)2、一些关键代码的功能 (15)(1)、连接数据库的代码(Link类) (15)(2)、管理端中实现新建银行卡的部分代码(Build类) (16)(3)、管理端中实现删除银行卡的代码段 (18)(4)、用户登陆验证的实现 (20)(5)、实现存款功能的代码段 (22)(6)、实现取款功能的代码段 (25)(7)、实现修改密码的代码 (30)七、课程设计目的 (33)八、总结 (34)参考文件 (34)一、前言为了进一步巩固、加深学生所学专业课程《JAVA语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力;熟练掌握JAVA语言的GUI设计、数据库连接以及异常的使用、灵活运用各种类库等java 知识,以及利用所学知识,开发小型应用系统的能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计-ATM柜员机模拟程序软件学院课程设计报告书课程名称面向对象程序设计设计题目ATM柜员机模拟程序专业班级软件工程学号姓名指导教师刘腊梅1 设计时间2015 年月2 设计目的掌握图形用户界面设计方法,掌握常用swing组件的使用和事件处理程序设计.3 设计题目ATM柜员机模拟程序4 设计任务使用图形用户界面。

当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:(1)查询余额功能:初始余额为10000元(2)ATM取款功能:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

(3)ATM存款功能:不能出现负存款。

(4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

5设计内容5.1 kehu类代码import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*; // 导入包import java.util.*;class kehu // 定义客户类{String zh; //定义账号String pswf; //定义密码double jine; //定义金额public kehu() { } //构造GUKEpublic kehu(String zh, String pswf, double jine){this.zh = zh;this.pswf = pswf;this.jine = jine;}String getzh() //定义成员变量账号{return zh; //成员方法}double setMima(double pswf)//定义成员变量密码{return pswf;//成员方法}double getJine()//定义成员变量金额{return jine;//定义成员方法}void cunkuan(double money)//定义成员变量存款{jine = jine + money; //定义成员方法}void quqian(double money)//定义成员变量取款{jine = jine - money; //定义成员方法}String xiugaim(String mi)//定义成员变量密码{pswf = mi; //定义成员方法return pswf;}}5.2 ATM主界面模块设计class ATM extends JFrame implements ActionListener//导入接口类{JPanel p1,p2, p3; //定义个面板JLabel l1, l2, l3,l4; //定义个标签JPasswordField pswf; //定义一个密码文本JButton jb1, jb2; //定义个按钮JTextField jtf1,jc1; //定义个文本框Container content; //定义一个容器kehu[] g = new kehu[4]; //定义客户类数组public ATM() //布局{g[0] = new kehu("liuyiping", "123456", 10000);//客户类数组里给的帐号,密码,钱数g[1] = new kehu("chengyang", "123456", 10000);g[2] = new kehu("zhangzhicheng", "123456", 10000);g[3] = new kehu("pengzhanyuan", "123456", 10000);p1 = new JPanel();p2 = new JPanel(); //定义第二个面板l2 = new JLabel("卡号:"); //定义标签l2jc1 = new JTextField(10); //定义账号文本l3 = new JLabel("密码:"); //定义标签l3pswf = new JPasswordField(12); //定义密码文本l4 = new JLabel("欢迎使用自动取款机");p1.add(l4);p2.add(l2); //把它们分别镶在面板上p2.add(jc1);p2.add(l3);p2.add(pswf);p3 = new JPanel(); //定义第三个面板jb1 = new JButton("登录"); //定义按钮登录jb1jb1.addActionListener(this); //jb1申请监听jb2 = new JButton("注销"); //定义按钮注销jb2jb2.addActionListener(this); //jb2申请监听p3.add(jb1); //把它们添加到p3面板里p3.add(jb2);content = this.getContentPane(); //布局定义content.setLayout(new BorderLayout());content.add(p1, BorderLayout.NORTH);content.add(p2, BorderLayout.CENTER); //定义中部为面板p2content.add(p3, BorderLayout.SOUTH); //定义底部为面板p3this.pack();this.setTitle("ATM 柜员机"); //定义为窗口名称this.setBounds(300, 300, 400, 300); // 定义窗口的大小this.setResizable(false);this.show(); //显示this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭、退出}public void actionPerformed(ActionEvent e) //监听类{String x = jc1.getText();if (e.getSource() == jb1) //如果点击是jb1按钮就进入For{ for (int i = 0; i < 4; i++) //判断名字在数组的位置if (x.equals(g[i].zh)) //检查到开始判断是否匹配{ if (pswf.getText().equals(g[i].pswf)) //名字匹配成功后判断密码是否成功{new XUANZE(g[i]); //密码真确后进入XUANZE的界面}else{JOptionPane.showMessageDialog(this, "密码错误!"); //密码错误弹出提示密码错误}}}elseSystem.exit(0); //注销事件退出}public static void main(String args[]) //定义的MAIN,才能进入。

{new ATM();}}主界面密码输入错误提示栏5.3 选择页面模块设计class XUANZE extends JFrame implements ActionListener//导入接口类{JPanel p2, p3; //定义个面板JLabel l1; //定义个标签JButton jb1, jb2, jb3, jb4, jb5; //定义个按钮Container content; //定义一个容器kehu key; //定义客户类传从参数keypublic XUANZE(GUKE key){this.key = key;p2 = new JPanel(); //定义面板jb1 = new JButton("ATM取款"); //定义jb1按钮ATM取款jb1.addActionListener(this); //jb1申请监听jb2 = new JButton("ATM存款"); //定义jb2按钮ATM存款jb2.addActionListener(this); //jb2申请监听jb3 = new JButton("查询余额"); //定义jb3按钮查询余额jb3.addActionListener(this); //jb3申请监听jb4 = new JButton("修改密码"); //定义jb4按钮修改密码jb4.addActionListener(this); //jb4申请监听p2.add(jb1);p2.add(jb2);p2.add(jb3);p2.add(jb4);p3 = new JPanel(); //定义面板jb5 = new JButton("退出"); //定义jb5按钮退出jb5.addActionListener( //定义一个匿名类new ActionListener(){public void actionPerformed(ActionEvent event){System.exit(0); //退出登陆}});p3.add(jb5);content = this.getContentPane(); //布局定义content.setLayout(new BorderLayout());content.add(p2, BorderLayout.CENTER); //定义中部为面板p2 content.add(p3, BorderLayout.SOUTH); //定义底部为面板p3 this.pack();this.setTitle("进入界面"); //定义为窗口名称this.setBounds(300, 300, 400, 300); // 定义窗口的大小this.setResizable(false);this.show();}public void actionPerformed(ActionEvent event) //接口监听{if (event.getSource() == jb4) //判断是否是jb4{new Xgmm(key); //进入XgmmsetVisible(false);}if (event.getSource() == jb1) //判断是否是jb1{new QUKUAN(key); //进入QUKUANsetVisible(false);}if (event.getSource() == jb2) //判断是否是jb2{new CUNKUAN(key); //进入CUNKUANsetVisible(false);}if (event.getSource() == jb3) //判断是否是jb3{new CHAXUN(key); //进入CHAXUNsetVisible(false);}}}进入选择界面5.4存款模块设计class CUNKUAN extends JFrame implements ActionListener//导入接口类{JPanel p2, p3; //定义个面板JLabel l1; //定义个标签JButton jb1, jb2; //定义个按钮JTextField jtf1; //定义一个文本框Container content; //定义一个容器kehu key; //定义客户类传从参数keypublic CUNKUAN(kehu key){this.key = key; //把key传到顶层容器p2 = new JPanel(); //定义面板l1 = new JLabel("请输入您要存入的金额:"); //定义一个标签请输入您要存入的金额:jtf1 = new JTextField(10); //定义一个文本框p2.add(l1);p2.add(jtf1);p3 = new JPanel(); //定义第三个面板jb1 = new JButton("确定"); //定义一个按钮确定jb1.addActionListener(this); //jb1申请一个监听jb2 = new JButton("返回"); //定义一个按钮返回jb2.addActionListener( //定义一个匿名类监听new ActionListener(){public void actionPerformed(ActionEvent event){XUANZEActionPerformed(event);}});p3.add(jb1);p3.add(jb2);content = this.getContentPane(); //布局定义content.setLayout(new BorderLayout());content.add(p2, BorderLayout.NORTH); //定义顶部为面板p1 content.add(p2,BorderLayout.CENTER); //定义中部为面板p2 content.add(p3, BorderLayout.SOUTH); //定义底部为面板p3this.pack();this.setTitle("自动存款"); //定义为窗口名称this.setBounds(300, 300, 400, 300); // 定义窗口的大小this.setResizable(false);this.show(); //显示}public void actionPerformed(ActionEvent e) //接口监听类{if (e.getSource() == jb1) //判断是是否是jb1{double money = Double.parseDouble(jtf1.getText());// 把money转成DoubleJOptionPane.showMessageDialog(this, "成功存款" + jtf1.getText() + "元!");//一个提示框填出你成功存了多少key.cunkuan(money); //把存的钱传回客户类jtf1.setText("0");}}public void XUANZEActionPerformed(ActionEvent event) //匿名类监听过程{if (event.getSource() == jb2) //判断要是jb2{new XUANZE(key); //返回XUANZE界面setVisible(false);}}存款界面存款成功5.5 取款模块设计class QUKUAN extends JFrame implements ActionListener//导入接口类JPanel p2, p3; //定义个面板JLabel l1; //定义个标签JButton jb1, jb2; //定义个按钮JTextField jtf1; //定义一个文本框Container content; //定义一个容器GUKE key; //定义客户类传从参数key public QUKUAN(GUKE key){this.key = key; //把key传到顶层容器p2 = new JPanel(); //定义面板l1 = new JLabel("请输入您要取的金额:"); //定义一个标签请输入您要取的金额:jtf1 = new JTextField(10); //定义一个文本框p2.add(l1);p2.add(jtf1);p3 = new JPanel(); //定义面板jb1 = new JButton("确定"); //定义一个按钮确定jb1.addActionListener(this); //jb1申请一个监听jb2 = new JButton("返回"); //定义一个按钮返回jb2.addActionListener(this); //jb1申请一个监听p3.add(jb1);p3.add(jb2);content = this.getContentPane(); //布局定义content.setLayout(new BorderLayout());content.add(p2, BorderLayout.CENTER); //定义中部为面板p2content.add(p3, BorderLayout.SOUTH); //定义底部为面板p3this.pack();this.setTitle("自动取款"); //定义为窗口名称this.setBounds(300, 300, 400, 300); // 定义窗口的大小this.setResizable(false);this.show();}public void actionPerformed(ActionEvent e) //接口监听类{if (e.getSource() == jb1) //判断是是否是jb1{double money = Double.parseDouble(jtf1.getText());// 把money转成Doubleif (money < key.jine){if (money % 100 == 0){if (money <=5000){JOptionPane.showMessageDialog(this, "成功取款" + jtf1.getText() + "元!");//一个提示框填出你成功取了多少key.quqian(money); //把存的钱传回客户类jtf1.setText("0");}else{JOptionPane.showMessageDialog(this, "提取金额不许超过五千");}}else{JOptionPane.showMessageDialog(this, "取款许为一百的整数");}}else{JOptionPane.showMessageDialog(this, "金额不足不许透支");//一个提示框提示你你的卡即将要已透支}}if (e.getSource() == jb2)//判断是是否是jb2{new XUANZE(key); //返回XUANZEsetVisible(false);}}取款界面取款成功金额不足取款失败提示提取金额不许超过五千提取金额需为一百的整数5.6 查询余额模块设计class CHAXUN extends JFrame implements ActionListener//导入接口类{JPanel p2, p3; //定义个面板JLabel l1; //定义个标签JButton jb1; //定义个按钮Container content; //定义一个容器kehu key; //定义客户类传从参数key public CHAXUN(kehu key){this.key=key; //把key传到顶层容器p2=new JPanel(); //定义面板l1=new JLabel("您的剩余金额为:"+ key.getJine());p2.add(l1);p3=new JPanel(); //定义面板jb1=new JButton("返回");jb1.addActionListener(this);p3.add(jb1);content=this.getContentPane(); //布局定义content.setLayout(new BorderLayout());content.add(p2,BorderLayout.CENTER); //定义中部为面板p2content.add(p3,BorderLayout.SOUTH); //定义底部为面板p3 this.pack();this.setTitle("查询余额"); //定义为窗口名称this.setBounds(300, 300, 400, 300); // 定义窗口的大小this.setResizable(false);this.show();}public void actionPerformed(ActionEvent e) //接口监听类{ if (e.getSource() == jb1) //判断是否是jb1 {new XUANZE(key); //返回XUANZEsetVisible(false);}}开户资金10000元存700后查询余额再取款900后查询余额5.7 修改密码模块设计class Xgmm extends JFrame implements ActionListener//导入接口类{JPanel p2, p3; //定义个面板JLabel l1, l2, l3, l4; //定义个标签JPasswordField jtf1, jtf2, jtf3; //定义个文本框JButton jb1, jb2; //定义个按钮Container content; //定义一个容器kehu key; //定义客户类传从参数key public Xgmm(kehu key){this.key=key; //把key传到顶层容器p2=new JPanel(); //定义第二个面板l2=new JLabel("请输入原始密码:"); //定义标签请输入原始密码:l3=new JLabel("输入要修改的密码:"); //定义标签输入要修改的密码l4=new JLabel("确认输入的新密码:"); //定义标签确认输入的新密码:jtf1 = new JPasswordField(15); //定义文本框jtf1jtf2 = new JPasswordField(15); //定义文本框jtf2jtf3=new JPasswordField(15); //定义文本框jtf3p2.add(l2);p2.add(jtf1);p2.add(l3);p2.add(jtf2);p2.add(l4);p2.add(jtf3);p3=new JPanel(); //定义面板jb1 = new JButton("确定"); //定义按钮jb1 确定jb1.addActionListener(this); //jb1申请监听jb2 = new JButton("返回登录"); //定义按钮jb2 放回登录jb2.addActionListener(this); //jb2申请监听p3.add(jb1);p3.add(jb2);content = this.getContentPane(); //布局定义content.setLayout(new BorderLayout());content.add(p2,BorderLayout.CENTER); //定义中部为面板p2content.add(p3,BorderLayout.SOUTH); //定义底部为面板p3this.pack();this.setTitle("修改密码"); //定义为窗口名称this.setBounds(300, 300, 400, 300); // 定义窗口的大小this.setResizable(false);this.show(); //显示}public void actionPerformed(ActionEvent e) //接口监听类{if (e.getSource() == jb1) //判断是否是jb1if (jtf1.getText().equals(key.pswf)) //判断是否是你输入的pswf正确{if (jtf2.getText().equals(jtf3.getText()))//判断是否是jtf2和jtf3相等不{if ((jtf2.getText()).length()==6){if (jtf2.getText().equals("000000") ||jtf2.getText().equals("111111") ||jtf2.getText().equals("222222") ||jtf2.getText().equals("333333") ||jtf2.getText().equals("444444") ||jtf2.getText().equals("555555") ||jtf2.getText().equals("666666") ||jtf2.getText().equals("777777") ||jtf2.getText().equals("888888") ||jtf2.getText().equals("999999")){ jtf2.setText("");jtf3.setText("");JOptionPane.showMessageDialog(this, "密码各位不能相同请重新输入!");//定义一个提示栏不成功}else{key.xiugaim(jtf2.getText()); //把改的密码传回GUKE类中JOptionPane.showMessageDialog(this, "修改成功!"); //定义一个提示框成功jtf1.setText("");jtf2.setText("");jtf3.setText("");}}else{jtf2.setText("");jtf3.setText("");JOptionPane.showMessageDialog(this, "密码需六位请重新输入!");//定义一个提示栏不成功}}else{jtf2.setText("");jtf3.setText("");JOptionPane.showMessageDialog(this, "两次输入密码不相符,请确认后重新输入!");//定义一个提示栏不成功}}else{JOptionPane.showMessageDialog(this, "密码输入错误,请确认后重新输入!");//定义一个提示栏原密码错误jtf1.setText("");jtf2.setText("");jtf3.setText("");}if (e.getSource() == jb2) //判断是是否是jb2{setVisible(false);}}}原密码输入错误提示修改失败两次输入密码不一修改失败密码不足六位修改失败密码各位都相同修改失败输入规范修改密码成功6 总结与展望通过本次的课程设计,是我更加的喜欢上了JA V A,这正是我一直想学的计算机实用语音。

相关文档
最新文档