滨江学院
面向对象程序设计课程设计
题 目 模拟ATM机存取款管理系统
院 系 计算机系 专 业 计算机科学与技术 学生姓名 学 号 指导教师
二O一六 年 十二 月 二十日
目 录
1.前言
1.1选题目的及意义 2.系统分析 2.1需求分析 2.2功能要求 2.3软硬件环境 3.系统概要设计 3.1系统总体架构设计 4.系统详细设计 4.1管理模块 4.2类的定义 5.系统实现 5.1类的实现 5.2主要程序实现 6.系统测试 7.收获及体会 8.参考文献 9.附录
1.前言
1.1选题目的及意义
总结及运用一学期来所学的知识,训练我们灵活应用所学C++知识,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出。能够巩固、深化理论知识,提高编程水平、分析问题、解决问题的能力。 1.2研究内容
模拟银行的自动取款机使用过程中的界面和用户交互过程。实现查询银行卡余额、取款、修改密码、退出系统等功能
2.系统分析
2.1需求分析
人们的金融意识、科技意识己经有了很大的提高,在紧张忙碌的生活中,己越来越来不习惯每月奔忙于各银行营业柜台之问去排队缴各种各样的费用了;同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等一是为了提高服务质量、方便客户,二是为了减轻自己日趋繁重的工作量,纷纷委托银行为其开展代收代付业务。
银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。 2.2功能要求
(1)卡号、密码输入最多三次,否则直接退出系统。 (2)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前剩余金额的限制。 (3)查询功能:实现查询余额功能。
(4)更改密码:实现密码更改功能,对于密码要有2次验证。 (5)锁卡功能:实现卡被锁的功能。 (6)退卡功能:实现退出系统功能。 2.3软硬件环境
环境:Visual c++ 6.0 硬件:lenovo idea-pad
3系统概要设计
3.1系统整体架构设计 系统总体框架
注册开户
存
钱
页
面
银行管理系统 登录界面 主界页面 注销退出 取款页面 余额页面 修改密码 注销页面 4.系统详细设计
4.1管理模块
(1)登录页面
输入卡号和密码,根据用户输入的卡号和密码,到后台文件查询,若正确则登录成功,并保存卡好信息已备后用。
若卡号存在和密码不匹配或无该卡号已经注销,提示该卡号已存在或已注销,保持界面三次不变等待用户的重新输入。
(2)主界面页面
主要导航栏有:欢迎使用储蓄卡管理(存款、取款、修改密码、转账功能、注销退出) (3)储蓄卡开户页面
提供开户界面,由用户输入新储蓄卡的所有信息,将该信息保存到文件中,并将开户金额作为该卡的第一次存款记录存人文件。
(4)存钱页面
从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库,同时将存钱的金额显示在页面上。
(5)取款页面
从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则不能取款,或者将新的余额写人文件,并将本次取款事件写入文件同时将取钱的金额显示在页面上,。
(6)注销页面
从关闭文件,状态为注销,最后关闭整个系统。
4.2类的定义
(1)comsumer 类
class comsumer 主要制定用户的成员数据,并进行登录与保存功能: comsumer 类说明表 名称 ID name money in address number Passwd savemoney() fetchmoney () change_passwd() get_money() 属性 数据成员 数据成员 数据成员 数据成员 数据成员 数据成员 数据成员 成员方法 成员方法 成员方法 成员方法 说明 用户账户数据 用户姓名 用户首次金额 用户身份证号 用户地址 用户电话 用户密码 存钱 取钱 修改密码 卡卡转账 (2)YH 类 YH 类 主要实现用户的各种功能: YH 类说明表 名称 acnum set_account () del_account () transfer () functionshow() addmoney() exitYH()
5.系统实现
5.1类的实现
(1)consumer类
class consumer:public YH//用户类,继承银行类的属性 {
public:
friend class YH;
属性 数据成员 成员方法 成员方法 成员方法 成员方法 成员方法 成员方法 说明 账户数 开户功能 注销账户功能 转账功能 主界面显示功能 存钱功能 退出系统功能