仲恺农业工程学院

工程实训报告

ATM取款机

课程名称 C 语言程序设计工程实训 姓 名 林少烈

院(系) 计算机科学与工程学院

专业班级计算机 113 班

学 号 4317

指导教师 王成

仲恺农业工程学院教务处制

需求分析 . 错 误 ! 未定义书签。

系统总框图和功能模块说明 错 误!未定义书签。

系统总框图 错 误!未定义书签。

功能模块说明 错 误!未定义书签。

系统设计 . 错 误 !未定义书签。

主要结构体 错 误!未定义书签。

主要功能函数 错 误!未定义书签。

关键函数的流程图 错 误!未定义书签。

系统调试 . 错 误 !未定义书签。

总结 . 错 误 !未定义书签。

源程序清单 . 错 误 !未定义书签。

头文件 . 错误!未定义书签。

主程序 . 错 误 !未定义书签。

解除被冻结用户 错 误!未定义书签。

用户注册 . 错 误!未定义书签。

1需求分析

所设计的ATM取款机应具备以下功能: 插入银行卡(用账号输入的方式代替); 密码的输入; 用户信息查询; 用户余额查询;

取款;

转账; 修改密码; 退卡。

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

系统总框图

退卡

f 」 修改密码

转账

取款

A T M取款机

-

输入用户账号

输入账号密码

信息读取

<.>

冻结账号

查询用户信息

r

查询账号余额

图1系统总框图

功能模块说明

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

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

用户输入旧密码的功能;

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

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

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

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

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

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

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

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

3系统设计

主要结构体

用户账号、姓名、密码、余额

struct User
打开文件Ni=0i<121ii=0i++i<1判断密码是否正确sirciikp(Vtrvmplp_ur?PN!feof(fp)判断账号是否存I++ —r~In ts=O,I;s=1;break;else s=0;elseexited函数流程图调用In put pssword 函数no w_exited 函数流程图In tl=0,i=0;
打开文件
N
i=0
i<12
1i
i=0
i++
i<1
判断密码是否正确
sirciikp(V
trvmplp_ur?P
N
!feof(fp)
判断账号是否存
I++ —r~
In ts=O,I;
s=1;
break;
else s=0;
else
exited函数流程图
调用In put pssword 函数
no w_exited 函数流程图
In tl=0,i=0;
break;
读取文件信息
mi cm ip I
prin tf("It cannot
/且一用户不存在,
^号nnput_password流程图
else l=0;
t rinlR"*- >:
libprictUl ?Icfi-te(ch( k气int i=0打开文件seLpfei**-d()Gprintfcannotint i读取文件penI user关闭文件hm
lib
prictUl ?
I
cfi-te(ch( k
气
int i=0
打开文件
seLpfei**-d()G
printf
cannot
int i
读取文件
penI user
关闭文件
h
m /i
¥
證!伽TCL§”
^E^fp)
洁範入您的炭号.201110214301
iiWi人左码+**
塔认的;:O??人!
诂己IL 1
半:
半:
半:
半:
0?逆3)求单
诵舖入祈辭(治昨).
诺再扶瞪认£5的至聲h
,S22e火。p血上馳F!H'. g“g.p
淸材蓼对方S邂号.201110214517,
用戶不存在!请至祈丽人!
半:
半:
n返回菜羊
■~4 口
(kt t _!Uix..._U10±
瑙建包豹件用请取三亠
um ))
assword, w );
um)==O )\t\t\t2.取 款
um)==O )
\t\t*\n\t*\t\t\t\t\t\t\t*\ n");
prin tf("\t*\t\t\t\t\t\t\t*\n\t*\t\t\t\t\t\t\t*\ n");
printf("\t*\t3.修改密码 \t\t\t4. 转账 \t\t*\n\t*\t\t\t\t\t\t\t*\n");
print