搜档网
当前位置:搜档网 › C语言程序设计报告模拟ATM取款机

C语言程序设计报告模拟ATM取款机

C语言程序设计报告模拟ATM取款机
C语言程序设计报告模拟ATM取款机

仲恺农业工程学院工程实训报告

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 系统调试 (12)

5 总结 (25)

6 源程序清单 (28)

6.1头文件 (28)

6.2主程序 (29)

6.3 解除被冻结用户 (64)

6.4 用户注册 (66)

1 需求分析

所设计的ATM取款机应具备以下功能:

●插入银行卡(用账号输入的方式代替);

●密码的输入;

●用户信息查询;

●用户余额查询;

●取款;

●转账;

●修改密码;

●退卡。

2 系统总框图和功能模块说明

2.1 系统总框图

图1 系统总框图

2.2 功能模块说明

?输入用户账号模块:在运行时,完成用户账号的输入(代替插卡);

?输入账号密码模块:①在输入账号之后,完成用户密码的输入;②在修改密码的过程中,完成用户输入旧密码的功能;

?信息读取功能模块:完成用户信息的读取;

?冻结账号功能模块:当输入密码3次错误时,冻结用户账号:

?查询用户信息模块:完成用户的信息查询(不包括余额查询);

?查询余额功能模块:完成用户余额的查询;

?取款功能模块:完成取款功能模块:

?转账功能模块:完成转职功能;

?修改密码功能模块:完成用户修改密码功能;

?退卡功能模块:完成退卡功能(即:退出程序功能)。

3 系统设计

3.1 主要结构体

用户账号、、密码、余额

struct User //用户数据

{

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 关键函数的流程图

N

now_exited 函数流程图

input_password 流程图

choose 函数流程图

draw_money 函数流程图

int i=0;

打开文件

printf("It cannot open !");

!feof(fp)

读取文件

关闭文件

读取文件数据函数流程input_new_password 函数流程图

int i;

i=0

i<12

产生随机数

i++

random[i]='\0';

打开文件进行写入

printf("It cannot open !");

i=0

i

i++

fclose(fp);

lock 函数流程图save_info 函数流程图

4 系统调试

首先运行程序,系统提示输入账号。

(1)当输入错误账号,系统提示:用户不存在,请从新输入。,

(2)当输入错误的密码时,系统提示:密码有误,请重新输入。

(3)当输入正确账号与密码时,进入主页面。

(4)主界面

(5)在主界面选择数字1,进入查询余额界面,界面显示余额。按任意键返回。

(6)在主页面选择数字2,进入取款界面,系统提示输入取款的金额,当输入不是整百数是,系统提示请输入正确的金额,请重新输入。

(8)当输入负数时,系统提示:请输入正确的金额,请重新输入。

(9)当输入超过卡里余额的数,系统会提示余额不足,请重新输入。

2

(10)当输入超过3000的数时,系统会提示:对不起,一次最多能取3000元,请重新输入。

(11)当输入正确的金额时,系统提示:交易成功,按0返回主菜单,按9继续取款。

(12)在主菜单界面选择数字3,进入修改密码界面,首先系统会提示:请输入旧密码。

(13)当输入就密码正确时,系统提示:请输入新密码(6位数)。

相关主题