- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
ATM取款机模拟程序设
计说明书
1.设计容和要求
设计容
课题的任务是设计一个ATM取款机的模拟程序。日常生活中,我们常使用ATM取款机,对
它的操作过程有所了解。这里我们要模拟的是用户所见的ATM取款机的属性和行为,ATM机
与网络连接的部分不包括在这个任务中。设计中应尽可能把它模拟得与真实的ATM接近一
些,我们抽象出下列问题:
(1)用户插卡,ATM验证用户信息。
(2)用户首次操作须验证密码。
(3)用户查询余额,ATM显示余额。
(4)用户取款,ATM操作交易过程。
(5)用户转账,ATM请求插入转入卡,然后操作交易过程。
(6)用户更改密码,ATM受理此业务。
(7)用户退卡。ATM清理现场。
(8)所有用户信息保存在文件中。
(9)对于一个在线用户,如果超过一定时间用户没有任何操作,ATM锁机,直到用户退卡为
止。
(10)ATM向用户显示欢迎词及其他提示信息。
设计要求
1功能要求:
(1)插卡功能(用卡号模拟);
(2)取款功能;
(3)查询余额功能;
(4)验证功能;
(5)更改密码功能;
(6)退卡功能;
(7)锁卡功能。
2界面要求:
用户界面设计不做统一规定,但应做到界面友好,易于操作。
3技术要求:
要求所有用户的信息以密文形式保存在数据文件中,加密算法为:字节各位取反,然
后高半字节和低半字节交换位置。用户输入密码时不能以明文形式显示在屏幕上,应以“*”
.专业.专注.
号代替来显示用户密码的输入。
要求利用面向对象的方法以及C++的编程思想来完成系统的设计;在设计的过程中,建
立清晰的类层次;在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;
要求运用面向对象的机制来实现系统功能。要求主函数(或图形界面下的主调函数)很“干
净”,只有一些类对象的定义和某个类对象的一个成员函数的调用。
1
2.设计说明
2.1问题描述与功能设计
问题描述
课题的任务是设计一个ATM取款机的模拟程序。日常生活中,我们常使用ATM取款机,对
它的操作过程有所了解。这里我们要模拟的是用户所见的ATM取款机的属性和行为,ATM机
与网络连接的部分不包括在这个任务中。设计中应尽可能把它模拟得与真实的ATM接近一
些,我们抽象出下列问题:
(1)用户插卡,ATM验证用户信息。
(2)用户首次操作须验证密码。
(3)用户查询余额,ATM显示余额。
(4)用户取款,ATM操作交易过程。
(5)用户转账,ATM请求插入转入卡,然后操作交易过程。
(6)用户更改密码,ATM受理此业务。
(7)用户退卡。ATM清理现场。
(8)所有用户信息保存在文件中。
(9)对于一个在线用户,如果超过一定时间用户没有任何操作,ATM锁机,直到用户退卡为
止。
(10)ATM向用户显示欢迎词及其他提示信息。
功能设计
该程序应具有以下功能:
(1)插卡功能(用卡号模拟);
(2)取款功能;
(3)查询余额功能;
(4)验证功能;
(5)更改密码功能;
(6)退卡功能;
(7)锁卡功能。
.专业.专注.
2.2流程图
33
2.3类定义和链表
classCard{
public:
Card(chara[10],intb,doublec)
{
strcpy(num,a);
code=b;
money=c;
}
charnum[10];
intcode;
doublemoney;
};
structnode
{
Card*cod;
node*next;
};
在该程序中定义了类Card,,同时声明了3个数据成员。该类有一个构造函数,用来给数
据成员赋值。3个数据成员用来保存用户的信息,包括卡号,密码,余额。链表中声明了一
个Card类类型的指针,以通过链表中的结点访问该指针,从而访问到定义在类中的数据成员,
即用户信息。函数要访问数
文档评论(0)