仲恺农业工程学院
工程实训报告
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");