C语言程序设计报告(模拟ATM取款机)
仲恺农业工程学院
工程实训报告
ATM取款机
课程名称 C语言程序设计工程实训
姓 名 林少烈
院(系) 计算机科学与工程学院
专业班级 计算机113班
学 号 10214317
指导教师 王成
仲恺农业工程学院教务处制目 录
1 需求分析1
2 系统总框图和功能模块说明1
2.1 系统总框图1
2.2 功能模块说明1
3 系统设计2
3.1 主要结构体2
3.2主要功能函数2
3.3 关键函数的流程图3
4 系统调试11
5 总结21
6 源程序清单23
6.1头文件23
6.2主程序23
6.3 解除被冻结用户40
6.4 用户注册41
1 需求分析
所设计的ATM取款机应具备以下功能:
插入银行卡(用账号输入的方式代替);
密码的输入;
用户信息查询;
用户余额查询;
取款;
转账;
修改密码;
退卡。
2 系统总框图和功能模块说明
2.1 系统总框图
图1 系统总框图
2.2 功能模块说明
输入用户账号模块:在运行时,完成用户账号的输入(代替插卡);
输入账号密码模块:①在输入账号之后,完成用户密码的输入;②在修改密码的过程中,完成用户输入旧密码的功能;
信息读取功能模块:完成用户信息的读取;
冻结账号功能模块:当输入密码3次错误时,冻结用户账号:
查询用户信息模块:完成用户的信息查询(不包括余额查询);
查询余额功能模块:完成用户余额的查询;
取款功能模块:完成取款功能模块:
转账功能模块:完成转职功能;
修改密码功能模块:完成用户修改密码功能;
退卡功能模块:完成退卡功能(即:退出程序功能)。
3 系统设计
3.1 主要结构体
用户账号、姓名{
char num[20];//用户账号
char name[10];//姓名char password[7];//密码
float balance;//余额
};
3.2主要功能函数
void read_info();//用户信息读取
void input_num(char * num);//输入账号
void now_exist(char * num);//判断是否被冻结或不存在
void existed(char * num);
void input_password(char * p_word,char * W);//输入密码
void face();//界面显示
void balance_refer();//余额查询
void choose(int c);//菜单选择
void draw_money();//取款
void set_password();//修改密码
void input_new_password(char * old_password);//设置新密码
void tran_account();//转账
void stamp();//打印单条
void info_refer();//信息查询
void out();//退出程序
void lock();//冻结账号
void save_info();//存储信息
3.3 关键函数的流程图
4 系统调试
首先运行程序,系统提示输入账号。
(1)当输入错误账号,系统提示:用户不存在,请从新输入。,
(2)当输入错误的密码时,系统提示:密码有误,请重新输入。
(3)当输入正确账号与密码时,进入主页面。
(4)主界面
(5)在主界面选择数字1,进入查询余额界面,界面显示余额。按任意键返回。
(6)在主页面选择数字2,进入取款界面,系统提示输入取款的金额,当输入不是整百数是,系统提示请输入正确的金额,请重新输入。
(8)当输入负数时,系统提示:请输入正确的金额,请重新输入。
(9)当输入超过卡里余额的数,系统会提示余额不足,请重新输入。
2
(10)当输入超过3000的数时,系统会提示:对不起,一次最多能取3000元,请重新输入。
(11)当输入正确的金额时,系统提示:交易成功,按0返回主菜单,按9继续取款。
(12)在主菜单界面选择数字3,进入修改密码界面,首先系统会提示:请输入旧密码。
(13)当输入就密码正确时,系统提示:请输入新密码(6位数)。
(14)当输入的新密码含有非数字时,系统提示:请输入正确的数字。
(15)当输入