C/C++ATM仿真软件[2023-04-15]

发布时间 2023-04-15 00:18:44作者: programwriter

C/C++ATM仿真软件[2023-04-15]

ATM 仿真软件

难度等级:4

1 系统的基本功能
ATM 的管理系统是银行流程业务中,十分重要且必备的环节之一。在银行业务流程中,有着承上启下、起承转合的作用。本课题可以帮助人们更加熟悉 ATM 的各类操作,从而方便生活中的使用。其基本功能如下:密码验证机制;吞锁卡机制;存取款功能;账户查询功能;转账功能等。

2 要求及提示

2.1 基本要求
要能提供以下几个基本功能:
(1)系统内的相关信息文件由程序设计人员预先从键盘上录入,文件中的数据记录不得少于 20 条;
(2)设计并实现系统的相关界面,使用分级菜单提高人机交互性;
(3)登录系统必须输入正确的卡号和密码,输入错误时提示用户,连续输入错误 3 次则显示锁卡,用户登录后可以修改自己的密码;
(4)取款功能:输入取款金额,核对。若超出账户余额,则输出“余额不足”则,输出对应金额的现金,并提示用户是否打印回单,退卡,返回界面;
(5)存款功能:存入现金,核对金额,存入账户,提示用户是否打印回单,返回主界面;
(6)查询账户信息,包括用户名、余额信息,以及各种操作的历史记录;
(7)转账模块,提示用户输入正确的账号,检查转账条件是否满足,并完成转账操作;
(8)退出终端系统,提示用户保存好银行卡。

2.2 选做要求

在查询界面中提供以下功能:利用账户的历史余额数据,进行账户余额的预测分析。

2.3 提示

(1)用户的卡号和密码必须以密文形式保存在文件中,所以在验证账号信息的过程中必须包含加密和解密的过程。
(1)ATM 仿真系统功能框图如下:

(2)结构体
根据用户信息,设计每个用户的结构体如下:

/*账户信息结构体*/
struct Account {
    char id[256];       /*账号*/
    char name[256];     /*姓名*/
    char password[256]; /*密码*/
    char status[256];   /*状态*/
    int error;          /*出错次数*/
    double balance;     /*余额*/
};

/*交易记录信息结构体*/
struct Statement {
    char id[256];           /*流水号*/
    char account_id[256];   /*账号*/
    char category[256];     /*交易类型*/
    char time[256];         /*交易时间*/
    char other_id[256];     /*对方账号*/
    double money;           /*交易金额*/
    double balance;         /*账户余额*/
};

2.4 其他要求
(1)在上述功能要求的基础上,为了提高成绩,可以添加一些额外的功能。
(2)变量、方法命名符合规范。
(3)注释详细:每个变量都要求有注释说明用途;方法有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(4)程序的层次清晰,可读性强。

3 开发环境
开发工具可以选择 VC++ 6.0 或者 Dev C++等 C++开发工具。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111