ATM取款机模拟程序 课程任务书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书
课程名称: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)考核方式
⏹课程设计结束时,在机房当场验收。
⏹教师提供测试数据,检查运行结果是否正确。
⏹回答教师提出的问题。
⏹学生提交课程设计文档(A4纸打印)
2)评分方法
上机检查 :书面报告:答辩=6 :3 :1,没有通过上机检查的其成绩直接记录不及格
指导教师签名:日期:
教研室主任签名:日期:
系主任签名:日期:
摘要
本实验设计说明书编写的是一个ATM取款机模拟程序。日常生活中,我们常使用ATM 取款机,对它的操作过程和功能有一定的了解。因此在该设计书中我们模拟的就是ATM取款机的属性和行为,主要包括插卡,取款,查询余额,更改密码,退卡,锁卡功能。
本书主要内容分为三个部分,第一部分主要是阐述该程序的设计内容和要求,设计的题目以及设计出的程序应有哪些实用功能。第二部分是对该问题的整体描述,对问题进行深入的分析,设计,到最后编写出程序并进行测试。第三部分为该书的总结,主要是写在编写程序的时候所遇到的问题,解决方法以及心得。
最后,程序设计是一个创作的过程,解决问题的方法不是唯一的。所以独立思考问题,多想想解决方法,才更有助于程序设计水平的提高。
关键词:链表;面向对象方法;A TM取款模拟;文件和流;类和对象
目录
1设计内容与要求 (1)
2设计说明 (2)
2.1 问题描述与功能设计 (2)
2.2流程图 (2)
2.3 类定义和链表 (4)
2.4 界面设计 (5)
2.5 测试 (7)
3总结 (8)
参考文献 (9)
附录A 源代码 (10)
1.设计内容和要求
设计内容
课题的任务是设计一个ATM取款机的模拟程序。日常生活中,我们常使用ATM取款机,对它的操作过程有所了解。这里我们要模拟的是用户所见的ATM取款机的属性和行为,ATM 机与网络连接的部分不包括在这个任务中。设计中应尽可能把它模拟得与真实的ATM接近一些,我们抽象出下列问题:
(1) 用户插卡,ATM验证用户帐号信息。
(2) 用户首次操作须验证密码。
(3) 用户查询余额,A TM显示余额。
(4) 用户取款,ATM操作交易过程。
(5) 用户转账,ATM请求插入转入卡,然后操作交易过程。
(6) 用户更改密码,A TM受理此业务。
(7) 用户退卡。ATM清理现场。
(8) 所有用户信息保存在文件中。
(9) 对于一个在线用户,如果超过一定时间用户没有任何操作,ATM锁机,直到用户退卡为止。
(10) ATM向用户显示欢迎词及其他提示信息。
设计要求
<1>功能要求:
(1)插卡功能(用卡号模拟);
(2)取款功能;
(3)查询余额功能;
(4)验证帐号功能;
(5)更改密码功能;
(6)退卡功能;
(7)锁卡功能。
<2>界面要求:
用户界面设计不做统一规定,但应做到界面友好,易于操作。
<3> 技术要求:
要求所有用户的信息以密文形式保存在数据文件中,加密算法为:字节各位取反,然后高半字节和低半字节交换位置。用户输入密码时不能以明文形式显示在屏幕上,应以“*”号代替来显示用户密码的输入。
要求利用面向对象的方法以及C++的编程思想来完成系统的设计;在设计的过程中,建立清晰的类层次;在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制来实现系统功能。要求主函数(或图形界面下的主调函数)很“干净”,只有一些类对象的定义和某个类对象的一个成员函数的调用。
1