【C++程序设计课程设计】ATM取款机模拟程序.doc
《【C++程序设计课程设计】ATM取款机模拟程序.doc》由会员分享,可在线阅读,更多相关《【C++程序设计课程设计】ATM取款机模拟程序.doc(21页珍藏版)》请在沃文网上搜索。
1、C+程序设计课程设计课程设计任务书课程名称:C+程序设计课程设计设计题目:ATM取款机模拟程序已知技术参数和设计要求:1. 问题描述: 课题的任务是设计一个ATM取款机的模拟程序。日常生活中,我们常使用ATM取款机,对它的操作过程有所了解。这里我们要模拟的是用户所见的ATM取款机的属性和行为,ATM机与网络连接的部分不包括在这个任务中。设计中应尽可能把它模拟得与真实的ATM接近一些,我们抽象出下列问题:(1) 用户插卡,ATM验证用户帐号信息。(2) 用户首次操作须验证密码。(3) 用户查询余额,ATM显示余额。(4) 用户取款,ATM操作交易过程。(5) 用户转账,ATM请求插入转入卡,然后
2、操作交易过程。(6) 用户更改密码,ATM受理此业务。(7) 用户退卡。ATM清理现场。(8) 所有用户信息保存在文件中。 (9) 对于一个在线用户,如果超过一定时间用户没有任何操作,ATM锁机, 直到用户退卡为止。(10) ATM向用户显示欢迎词及其他提示信息。2. 功能要求:(1)插卡功能(用卡号模拟);(2)取款功能;(3)查询余额功能;(4)验证帐号功能;(5)更改密码功能;(6)退卡功能;(7)锁卡功能。3. 界面要求:用户界面设计不做统一规定,但应做到界面友好,易于操作。4. 技术要求:要求所有用户的信息以密文形式保存在数据文件中,加密算法为:字节各位取反,然后高半字节和低半字节交
3、换位置。用户输入密码时不能以明文形式显示在屏幕上,应以“*”号代替来显示用户密码的输入。要求利用面向对象的方法以及C+的编程思想来完成系统的设计;在设计的过程中,建立清晰的类层次; 在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制来实现系统功能。要求主函数(或图形界面下的主调函数)很“干净”,只有一些类对象的定义和某个类对象的一个成员函数的调用。5.课程设计时间:15周、16周6.课程设计的考核方式及评分方法1) 考核方式n 课程设计结束时,在机房当场验收。n 教师提供测试数据,检查运行结果是否正确。n 回答教师提出的问题。n 学生提交课程设计文档(A4纸打
4、印)2) 评分方法上机检查 :书面报告:答辩=6 :3 :1,没有通过上机检查的其成绩直接记录不及格指导教师签名:日期:教研室主任签名: 日期:系主任签名: 日期:摘要本实验设计说明书编写的是一个ATM取款机模拟程序。日常生活中,我们常使用ATM取款机,对它的操作过程和功能有一定的了解。因此在该设计书中我们模拟的就是ATM取款机的属性和行为,主要包括插卡,取款,查询余额,更改密码,退卡,锁卡功能。本书主要内容分为三个部分,第一部分主要是阐述该程序的设计内容和要求,设计的题目以及设计出的程序应有哪些实用功能。第二部分是对该问题的整体描述,对问题进行深入的分析,设计,到最后编写出程序并进行测试。第
5、三部分为该书的总结,主要是写在编写程序的时候所遇到的问题,解决方法以及心得。最后,程序设计是一个创作的过程,解决问题的方法不是唯一的。所以独立思考问题,多想想解决方法,才更有助于程序设计水平的提高。关键词:链表;面向对象方法;ATM取款模拟;文件和流;类和对象目录1设计内容与要求 12设计说明 22.1 问题描述与功能设计2 2.2流程图22.3 类定义和链表 42.4 界面设计52.5 测试73总结8参考文献 9附录A 源代码10 1.设计内容和要求设计内容课题的任务是设计一个ATM取款机的模拟程序。日常生活中,我们常使用ATM取款机,对它的操作过程有所了解。这里我们要模拟的是用户所见的AT
6、M取款机的属性和行为,ATM机与网络连接的部分不包括在这个任务中。设计中应尽可能把它模拟得与真实的ATM接近一些,我们抽象出下列问题:(1) 用户插卡,ATM验证用户帐号信息。(2) 用户首次操作须验证密码。(3) 用户查询余额,ATM显示余额。(4) 用户取款,ATM操作交易过程。(5) 用户转账,ATM请求插入转入卡,然后操作交易过程。(6) 用户更改密码,ATM受理此业务。(7) 用户退卡。ATM清理现场。(8) 所有用户信息保存在文件中。 (9) 对于一个在线用户,如果超过一定时间用户没有任何操作,ATM锁机,直到用户退卡为止。(10) ATM向用户显示欢迎词及其他提示信息。设计要求功
7、能要求:(1)插卡功能(用卡号模拟);(2)取款功能;(3)查询余额功能;(4)验证帐号功能;(5)更改密码功能;(6)退卡功能;(7)锁卡功能。界面要求:用户界面设计不做统一规定,但应做到界面友好,易于操作。 技术要求:要求所有用户的信息以密文形式保存在数据文件中,加密算法为:字节各位取反,然后高半字节和低半字节交换位置。用户输入密码时不能以明文形式显示在屏幕上,应以“*”号代替来显示用户密码的输入。要求利用面向对象的方法以及C+的编程思想来完成系统的设计;在设计的过程中,建立清晰的类层次; 在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制来实现系统功能。
8、要求主函数(或图形界面下的主调函数)很“干净”,只有一些类对象的定义和某个类对象的一个成员函数的调用。 12.设计说明2.1问题描述与功能设计问题描述课题的任务是设计一个ATM取款机的模拟程序。日常生活中,我们常使用ATM取款机,对它的操作过程有所了解。这里我们要模拟的是用户所见的ATM取款机的属性和行为,ATM机与网络连接的部分不包括在这个任务中。设计中应尽可能把它模拟得与真实的ATM接近一些,我们抽象出下列问题:(1) 用户插卡,ATM验证用户帐号信息。(2) 用户首次操作须验证密码。(3) 用户查询余额,ATM显示余额。(4) 用户取款,ATM操作交易过程。(5) 用户转账,ATM请求插
9、入转入卡,然后操作交易过程。(6) 用户更改密码,ATM受理此业务。(7) 用户退卡。ATM清理现场。(8) 所有用户信息保存在文件中。 (9) 对于一个在线用户,如果超过一定时间用户没有任何操作,ATM锁机,直到用户退卡为止。(10) ATM向用户显示欢迎词及其他提示信息。功能设计该程序应具有以下功能:(1)插卡功能(用卡号模拟);(2)取款功能;(3)查询余额功能;(4)验证帐号功能;(5)更改密码功能;(6)退卡功能;(7)锁卡功能。2.2流程图2332.3类定义和链表class Cardpublic:Card(char a10,int b,double c)strcpy(num,a);
10、code=b; money=c;char num10;int code;double money;struct nodeCard *cod;node *next;在该程序中定义了类Card,同时声明了3个数据成员。该类有一个构造函数,用来给数据成员赋值。3个数据成员用来保存用户的信息,包括卡号,密码,帐户余额。链表中声明了一个Card类类型的指针,以通过链表中的结点访问该指针,从而访问到定义在类中的数据成员,即用户信息。函数要访问数据成员时,都用这种指向方式,如head-cod-num。而另外一个node指针的数据成员,指向当前结点的下一个结点,利用这种方法遍历链表。将类定义和链表结合起来,可
11、以简化该问题,在一定程度上减少了程序代码。然后再将文件里的信息依次读到链表的各个结点中,就完成了数据成员即用户信息的初始化,使问题变得简单。这就是用类定义和链表的好处所在。42.4界面设计 该程序的界面设计总的来说是体现了对用户的友好性。首先是欢迎界面,看起来非常美观,还有欢迎语句:欢迎使用本银行ATM机。在用户每次输入前,都有输出语句提醒用户,同时在用户进行完每步操作后都循环输出提示信息,用户可自行选择继续或退出。当用户操作有误或交易失败时,界面上会输出出错信息告知用户,三次密码输入错误即锁卡。最后用户退出时,输出语句:谢谢使用,欢迎下次光临。同时提醒用户取卡。界面的设计体现了程序设计的友好
12、性,同时易于操作。 欢迎界面: 出错提醒界面:5用户退出时输出界面:62.6测试 测试该程序的主函数十分简单,只有一些提示信息的输出和功能函数的调用。主函数首先调用创建链表的函数进行创建,同时每创建一个节点就从文件中读出一条信息初始化数据成员。创建完后输出欢迎信息,然后进入程序让用户输入卡号,调用验证卡号的函数,如果正确则进行后面的操作,输入错误则退出程序。接下来是输出提示信息让用户输入卡号的密码,再调用验证密码的功能函数,正确则可进行取款等操作,错误再提示用户重新输入,三次输入错误就锁卡。若用户卡号和密码都输入正确,则输出菜单让用户选择操作。菜单中有五个选项,取款,查询余额,转账,更改密码,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计课程设计 C+ 程序设计 课程设计 ATM 取款 模拟 程序
