程序由 C++ 语言编写,图形界面使用了 EasyX 图形库
账号与密码采用 MD5 加密算法加密后储存,提供加密算法的 MD5.h
与 MD5.cpp
来自 github.com/JieweiWei/md5
输入卡号与密码进行登录,连续三次密码输入错误账户会被锁定
有一个专门的管理员账户,账号为 1234567890
,密码为 123456
,可以新建账户,以及直接对账户金额进行操作,管理员账户通过修改密码操作可以对已锁定账户进行解锁
所有账号信息是用文件保存在本地的,故初次运行没有用户账户,需要管理员手动新建
分为账户管理、金额操作、信息查询三个模块
管理员账号的功能:
- 新建账户:输入卡号(不超过 19 位)、姓名(不超过 5 个汉字)、密码(必须为 6 位)即可创建,初始账户余额为 0
- 删除账户:输入要删除账户的卡号进行删除操作
- 修改密码:输入要修改密码的卡号和密码,新密码只输入一次,没有第二次确认。此外,修改密码操作会重置账户连续输入错误密码的次数,即使新密码与原密码相同,次数也会被重置
普通用户账号的功能:
- 注销账户:输入密码,注销当前账户
- 修改密码:输入新密码,并再次输入确认,两次输入相同且与旧密码不同即可修改密码
- 升级账户:凑数的功能,没有实际意义
管理员账号的功能:
- 存款:输入存款卡号和存款金额即可,存款金额不得超过 15 位
- 取款:输入取款卡号和取款金额即可,取款金额不得超过 15 位,且不超过账户余额
- 转账:输入转出、转入卡号和转账金额,转账金额不得超过 15 位,且不超过转出账户余额
普通用户账号的功能:
- 存款:输入存款金额,需为 100 的整数倍,单笔交易最大限额 10000 元,单日累计限额 100000 元,交易成功后可选择是否打印凭证,凭证为保存在程序可执行文件相同目录下的一个 TXT 文件
- 取款:输入取款金额,需为 100 的整数倍,单笔交易最大限额 5000 元,且不得超过账户余额,单日累计限额 20000 元,交易成功后可选择是否打印凭证,凭证为保存在程序可执行文件相同目录下的一个 TXT 文件
- 转账:输入收款账户卡号和转账金额,不得超过账户余额,单日累计限额 50000 元,交易成功后可选择是否打印凭证,凭证为保存在程序可执行文件相同目录下的一个 TXT 文件
管理员账号的功能:
- 余额查询:输入卡号,查询其余额
- 交易记录:输入卡号,其交易记录将以 TXT 文件导出到程序可执行文件相同目录下
普通用户账号的功能:
- 余额查询:显示当前账户余额
- 交易记录:交易记录将以 TXT 文件导出到程序可执行文件相同目录下
普通用户账户为用鼠标点击按钮的方式进行输入,输入格式有一定的限制;管理员账户使用弹出式对话框进行输入,没有输入格式的限制,非常规的输入可能导致程序崩溃
文件名为 ATM_Simulator.dat
,采用二进制形式存储数据,保存在程序可执行文件相同目录下