课程设计-ATM柜员机模拟程序文件
- 格式:doc
- 大小:619.50 KB
- 文档页数:27
C语言-ATM机模拟操作程序实现功能点:a.查询:查询帐户的存款余额。
按任意键返回主菜单;b.取款:输入100、500、1000、2000、5000、其它金额为取款金额,取款金额不超过帐户余额,操作后帐户余额应相应减少,之后可返回主菜单;c.存款:输入100、500、1000、2000、5000、其它金额为存款金额,存款金额不超过20000元,操作后帐户余额应相应增加。
之后可返回主菜单;d.转帐:输入一个帐户号,程序判断与文件信息是否相符,储户确认无误后,再输入100、500、1000、2000、5000、其它金额为转帐金额,转帐金额不得超过帐户余额,操作后帐户余额应相应减少。
之后可返回主菜单;e.修改密码:连续输入两次新密码(两次输入结果完全相同)后,新密码取代旧密码,并存放到帐户信息文件中。
之后可返回主菜单;f.退出:退出系统;g.帮助:增加趣味性;h.存款时,可正可负,正表示存款,负表示取款;i.帐户信息存放在accounts.txt文件,储户存取款记录保存在records.txt中;(在目录下创建这两个文件)j.采用模块化程序设计方法来实现,即main()显示主菜单、调用相关函数实现相应功能,起主控作用;k.储户一天内输错密码的次数不能超过3次,否则无法进入系统;l.有效避免输入存款金额、取款金额为负数等异常情况的出现。
较为突出的功能是注册、登录时账号密码的核对验证;存款转出转入金额的核对。
是否超过余额,是否不符合格式,是否为冲突操作。
(2)程序运行截图及说明(每图限50到100字);●进入程序,menu1可选择登录、注册功能。
●选择登录,输入账号密码,通过输入内容与文件的匹配,判断是否成功登录。
若登录失败,则重新选择。
●选择注册,输入账号密码,写入文件中。
●进入menu2,有五大功能选择,输入对应的序列号进入。
●余额查询功能输出账号所对应的余额。
●取款功能,需要安装要求取出格式化的金额。
atm课程设计模板一、教学目标本章节的教学目标包括以下三个方面:1.知识目标:学生能够理解并掌握ATM(自动柜员机)的基本原理、组成部分及其在工作中的作用。
2.技能目标:学生能够熟练操作ATM,进行各种银行业务,如取款、存款、转账等。
3.情感态度价值观目标:学生认识到ATM在现代金融领域的重要地位,理解其对提高金融效率和便捷性的贡献,培养对金融科技的兴趣和认同感。
在制定教学目标时,充分分析了课程性质、学生特点和教学要求,将目标分解为具体的学习成果,为后续的教学设计和评估提供明确的方向。
二、教学内容本章节的教学内容主要包括以下几个部分:1.ATM的基本原理:介绍ATM的工作原理、主要组成部分及其相互之间的关系。
2.ATM的操作流程:详细讲解如何使用ATM进行取款、存款、转账等银行业务。
3.ATM的种类与功能:介绍不同类型的ATM及其功能特点,如普通ATM、触摸屏ATM、多功能ATM等。
4.ATM的安全性与维护:讲解ATM的安全使用注意事项,以及日常维护保养的基本方法。
教学内容的选择和遵循科学性和系统性的原则,确保学生能够扎实掌握ATM的相关知识。
三、教学方法为了激发学生的学习兴趣和主动性,本章节将采用以下几种教学方法:1.讲授法:教师通过讲解ATM的基本原理、操作流程等知识,引导学生掌握相关概念。
2.讨论法:学生就ATM的使用场景、功能特点等话题进行讨论,提高学生的思考和表达能力。
3.案例分析法:通过分析实际案例,使学生了解ATM在实际工作中的应用,提高学生的实践能力。
4.实验法:安排学生进行ATM操作实验,熟练掌握ATM的各种银行业务,培养学生的实际操作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的ATM教材,为学生提供系统性的知识学习。
2.参考书:推荐学生阅读相关ATM领域的参考书籍,拓展知识面。
3.多媒体资料:制作课件、视频等多媒体资料,生动展示ATM的工作原理和操作流程。
西安科技大学软件工程课程设计报告题目: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)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如数据未初始化等,在出现不可知的错误以后,可以尽量安全的退出程序。
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课时)。
课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:ATM柜员机模拟程序院系:信息技术学院班级:设计者:学号:指导教师:设计时间:2016-1-4-2016-1-8 信息技术学院昆明学院课程设计(大作业)任务书1、查询余额:初始余额为10000元2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3、ATM存款:不能出现负存款。
4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
课程设计(大作业)报告一、题目分析1.系统需求分析(1)设计目标:随着市场经济的繁荣发展,人们的物质生活得到极大的提高,手中的剩余资金也日益增多。
受传统观念影响,绝大多数人喜欢把资金投进银行,而在需要使用现金的时候再到银行提取现金。
这就导致银行业务的急剧增加。
虽然银行网点越来越多,银行的工作效率也随着信息化有较明显的增长,但是依旧不能满足广大用户的需要。
而一味的增加营业网点,从理论上虽然能稍微的缓解银行的压力,但是治标不治本,而且每增加一个网点,不仅要付出昂贵的资金成本,还需要长期投入人力资本,成本非常之昂贵。
这时候就迫切的需要一种自动的,易于普及的,低成本的设备来解决这一问题。
于是ATM机系统应运而生了。
自动柜员机,即ATM,是指银行在不同地点设置一种小型机器,利用一张信用卡大小的胶卡上的磁带记录客户的基本户口资料(通常就是银行卡),让客户可以透过机器进行提款、存款、转账等银行柜台服务,大多数客户都把这种自助机器称为自动提款机。
本文正是通过设计一个ATM模拟模拟程序来实现ATM机系统的基本功能,充分运用自己所学的Java知识进行设计编程。
(2)题目设计要求:本ATM柜员机的主要功能如下所述:要求使用图形用户界面。
当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:●查询余额:初始余额为10000元。
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修改密码:用户修改自己的银行账户密码的操作。
合肥学院计算机科学与技术系课程设计报告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 知识,以及利用所学知识,开发小型应用系统的能力。
软件学院
课程设计报告书
课程名称面向对象程序设计
设计题目 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//导入接口类
if (event.getSource() == jb2) //判断是否是jb2
{
new CUNKUAN(key); //进入CUNKUAN
setVisible(false);
}
if (event.getSource() == jb3) //判断是否是jb3
{
new CHAXUN(key); //进入CHAXUN
setVisible(false);
}
}
}
进入选择界面
5.4 存款模块设计
class CUNKUAN extends JFrame implements ActionListener//导入接口类{
JPanel p2, p3; //定义个面板
JLabel l1; //定义个标签
JButton jb1, jb2; //定义个按钮
存款界面
存款成功
5.5 取款模块设计
class QUKUAN extends JFrame implements ActionListener//导入接口类
}
}
else
{
JOptionPane.showMessageDialog(this, "金额不足不许透支");//一个提示框提示你你的卡即将要已透支
}
}
if (e.getSource() == jb2)//判断是是否是jb2
{
new XUANZE(key); //返回XUANZE
setVisible(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); //定义中部为面板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 e) //接口监听类
{ if (e.getSource() == jb1) //判断是否是jb1 {
new XUANZE(key); //返回XUANZE
setVisible(false);
}
}
开户资金10000元
存700后查询余额
再取款900后查询余额
5.7 修改密码模块设计
class Xgmm extends JFrame implements ActionListener//导入接口类{
JPanel p2, p3; //定义个面板JLabel l1, l2, l3, l4; //定义个标签
else
{
JOptionPane.showMessageDialog(this, "密码输入错误,请确认后重新输入!");//定义一个提示栏原密码错误
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
}
if (e.getSource() == jb2) //判断是是否是jb2
{
setVisible(false);
}
}
}
原密码输入错误提示修改失败
两次输入密码不一修改失败
密码不足六位修改失败
密码各位都相同修改失败
输入规修改密码成功
6 总结与展望
通过本次的课程设计,是我更加的喜欢上了JAVA,这正是我一直想学的计算机实用语音。
通过这次设计,是我加深了对本学期对JAVA语言的各个知识点的掌握和巩固,特别是图形用户界面。
在设计过程中先建立了一个详细的计划,划分为几个模块,然后逐个进行解决,在设计的过程中,由于有些知识点的薄弱,出现了一些错误和困难但是到后来都通过慢慢分析和查看API文档得到了解决。
从而完整的完成了设计所要求的各项功能。
这次设计使我感觉到了自己设计程序在除掉种种错误和克服种种困难而顺畅运行时的成就感,也加深了我对我专业的喜爱,希望我会在以后的学习中有更好的属于自己的作品,对于这门科学更加精通。
同时我也会为了自己的这个愿望不断努力,争取早日成为这方面的精英人才。