仲恺农业工程学院
工程实训报告
ATM取款机
课程名称 C语言程序设计工程实训 姓 名 林少烈
院(系) 计算机科学与工程学院 专业班级 计算机113班 学 号 201110214317 指导教师 王成
仲恺农业工程学院教务处制
目 录
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 系统总框图
ATM取款机 输入用户账号输入账号密码信息读取冻结账号查询用户信息查询账号余额 取款转账修改密码退卡 2.2 功能模块说明
? 输入用户账号模块:在运行时,完成用户账号的输入(代替插卡);
? 输入账号密码模块:①在输入账号之后,完成用户密码的输入;②在修改密码的过程中,完成
图1 系统总框图
用户输入旧密码的功能;
? 信息读取功能模块:完成用户信息的读取;
? 冻结账号功能模块:当输入密码3次错误时,冻结用户账号: ? 查询用户信息模块:完成用户的信息查询(不包括余额查询); ? 查询余额功能模块:完成用户余额的查询; ? 取款功能模块:完成取款功能模块: ? 转账功能模块:完成转职功能;
? 修改密码功能模块:完成用户修改密码功能; ? 退卡功能模块:完成退卡功能(即:退出程序功能)。
3 系统设计
3.1 主要结构体
用户账号、姓名、密码、余额 struct User { };
3.2主要功能函数 void read_info();
//用户信息读取 //输入账号
//判断是否被冻结或不存在
char num[20]; char name[10];
//用户账号 //姓名 //密码 //余额
//用户数据
char password[7]; float balance;
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 关键函数的流程图
//转账 //打印单条 //信息查询 //退出程序 //冻结账号
//存储信息
N