银行ATM自动取款机模拟程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户姓名:Name 字符型。 用户账号:Num 字符型。 用户密码:Password 字符型。 存款数额:Money 实型。
五、详细设计
4.3 类的设计
1)、定义了一个ATM取款机类,类中包括以下几部分: 公有段: 依次为登陆界面,核对密码,修改密码,取款,转账,查询信息,退
出系统,功能界面,锁机。 私有段: 记录密码输入次数。 友元函数: 取款,转账,查询信息,账号,密码。
(2)银行卡类:具有“用户姓名”、“用户密码”、 “存款额”等特征。需要实现“身份验证”、“查询余额”、 “修改密码”、“交易成功更改余额”等操作。将这些操作 定义为银行卡类的成员函数。
四、系统设计
• 模拟ATM取款机的操作:
首先录入账户信息,格式如下
卡号
姓名
密码 余额
123456 wzy
123456 10000.00
四、系统设计
• 模块结构图:
模拟ATM取款机
ATM功能类 登陆界面 核对密码 取款 转账 查询信息 退出系统 锁卡
consumer用户类 获取姓名 获取卡号 获取密码 获取余额 核对密码
五、详细设计 登陆界面
否 输入卡号和密码
卡号密码错误 超过3次?
否 卡号密码正确

选择一项功能执行
结束
功能界面 1.修改密码
2、)定义了一个consumer 类,类中包括以下几部分: 公有继承了consumer类
私有段: 卡号,用户姓名,用户密码,存款钱数
保护段: 取得姓名,取得卡号,取得密码,取得余额,设置密码,取钱
四、系统设计
• 1)登录流程
图4-3-1
开始
输入卡 号 输入密码 主界面
结束
四、系统设计
• 2)修改密码
2.取款 3.转账 4.查询余额 5.退出系统
总体流程图4.1
五、详细设计
4.2 相关数据结构的说明:
信息的载体用对象数组。系统录入信息的操作非常枯燥,所以创建 一个文件,把每次录入的信息保存入文件,在下一次进入系统是,它会 默认读取文件原有的信息,当然也可以随时添加录入ATM信息。然后系 统的各个功能仅仅是通过查询找到具体对象的具体数据进行操作。
二、课程设计任务与要求
要求: 1. 要求利用面向对象的方法以及C++的 编程思想来完成系统的设计; 2. 要求在要设求 计的过程中,建立清晰的类 层次; 3. 在系统中至少要定义类,若有多个类, 每个类中要有各自的属性和方法; 4. 在系统的设计中,要求使用面向对象 的继承与多态等机制。
三、需求分析
开始
主界面
选择查询的操作 序号
请输入旧密 码 请输入新密码
图4-32
请再次输入新密 码
结束
四、系统设计
• 3)取款功能
图4-3-3
开始 主界面
选择需要的操作 序号
取款额数 是否继续
结束
四、系统设计 开始
• 4)转账功能
主界面
选择查询的操 作序号
图4-34
请输入所转账 号
请输入所转金 额
余额不足
转账成功, 余额
private: int times; //记录密码输入次数 consumer &cnsm;
};
//核对密码
六、编码与调试
class consumer
//用户
{
public:
friend class ATM;
consumer(char Name[],char Num[], float Money,char Password[]);
四、系统设计
• 模拟ATM取款机的操作:
㈠、登录功能:输入帐号和密码进行登录, 如密码错误提示重新输入密码,如帐号错误 提示无此帐户。 ㈡、查询功能:查询账户余额。 ㈢、取款功能:取款,更新余额。 ㈣、修改密码:输入原密码和新设置密码。 ㈤、吃卡功能:密码输错3次,锁卡。 ㈥、转账功能:输入转账的转出账户以及转 账金额,进行转账。
二、课程设计任务与要求
任务: 编写一个银行ATM自动取款机模拟程序(2人)
实现ATM取款机的基本功能,如给用户提供查询 余额、取款、修改密码、吃卡、退出系统等服务,可 根据实际情况添加(如缴费、转账等服务)。
1)对于用户要求输入相应的帐号和密码,如果三 次出错则将卡吃掉并打印出相应凭条。 2)若输入的取款金额超出账户余额,则提示用户输百度文库 有误并提供更正功能
protected:
char* get_name(); //取得姓名
char* get_kahao(); //取得卡号
char* get_passwd(); //取得密码
四、系统设计
• 5)查询功能
开始 主界面
图4-3-5
选择查询的操 作序号
结束
六、编码与调试
以下是程序的源代码
#include"iostream" using namespace std; class consumer; class ATM {public:
ATM(consumer & cn):cnsm(cn){ } void welcome(); //登陆界面 bool check_passwd(char n[],char pwd[]); void change_passwd(); //修改密码 void fetchmoney(); //取款 void zhuan();//转账 void information(); //查询信息 void exitATM(); //退出系统 void functionshow(); //功能界面 void lock(); //锁机
银行ATM自动取款机模拟程序
制作组员: 组长 wzy 组员 lyz
目录
• 课程设计的目的 • 课程设计任务与要求 • 需求分析 • 系统设计 • 详细设计 • 编码与调试 • 系统使用手册 • 总结
一、课程设计目的
目的: 1. 掌握C++语言基本知识及其编程方法 2. 掌握类和对象的基本概念与使用方法 3. 掌握面要向求 对象中的继承与多态等面向 对象特性 4. 掌握文件流的基本操作
本案例涉及一个银行卡和ATM机之间的“对话”。需 要处理两个对象,即:ATM和银行卡,因此可以考虑定 义两个类来解决这个问题
(1)ATM机类:有“单笔取款最高限制”、“每日取款 总金额限制”、“金额”等基本属性。需要实现:“核对密 码”、“修改密码”、“取款”、“查询信息”、“退出系 统”、“锁机吞卡”等功能。可以将这些操作定义为ATM机 类的成员函数。
相关文档
最新文档