预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共48页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

仲恺农业工程学院工程实训报告ATM取款机课程名称C语言程序设计工程实训姓名林少烈院(系)计算机科学与工程学院专业班级计算机113班学号201110214317指导教师王成仲恺农业工程学院教务处制T8rinput_new_password函数流程图读取文件数据函数流程lock函数流程图save_info函数流程图104系统调试首先运行程序,系统提示输入账号。(1)当输入错误账号,系统提示:用户不存在,请从新输入。,(2)当输入错误的密码时,系统提示:密码有误,请重新输入。(3)当输入正确账号与密码时,进入主页面。11(4)主界面(5)在主界面选择数字1,进入查询余额界面,界面显示余额。按任意键返回。(6)在主页面选择数字2,进入取款界面,系统提示输入取款的金额,当输入不是整百数是,系统提示请输入正确的金额,请重新输入。12(8)当输入负数时,系统提示:请输入正确的金额,请重新输入。(9)当输入超过卡里余额的数,系统会提示余额缺乏,请重新输入。13(10)当输入超过3000的数时,系统会提示:对不起,一次最多能取3000元,请重新输入。14(11)当输入正确的金额时,系统提示:交易成功,按0返回主菜单,按9继续取款。(12)在主菜单界面选择数字3,进入修改密码界面,首先系统会提示:请输入旧密码。15(13)当输入就密码正确时,系统提示:请输入新密码(6位数)。(14)当输入的新密码含有非数字时,系统提示:请输入正确的数字。(15)当输入的新密码缺乏六位时,系统提示:请输入六位的密码。16(16)当两次输入的新密码不相同时,系统会提示:两次输入的密码不同,请重新输入。(17)当输入两次密码都正确时,系统提示:密码修改成功,请牢记新密码。171需求分析12系统总框图和功能模块说明1系统总框图1功能模块说明13系统设计2主要结构体2主要功能函数2关键函数的流程图34系统调试II5总结216源程序清单236.1头文件236.2主程序23解除被冻结用户40用户注册41(18)在主菜单界面选择数字4时,进入转账界面。系统提示:请输入对方的账号:(19)当输入的账号错误时,系统会提示:用户不存在,请重新输入。(20)当输入自己的账号时,系统会提示:不能给自己转账,请重新输入账号。18(21)当输入正确的账号时,界面会显示对方的信息。按0返回菜单,按9确定转账。(22)当确定转账时,系统会提示:请输入转账金额。(23)当输入转账的金额超过3000元时,系统会提示:对不起,一次转账不能超过3000元,请重新输入。19(24)当输入正确的金额时,系统提示:交易成功。按0返回主菜单,按9继续转账。(25)在主菜单界面选择数字5,进入信息查询界面,界面将显示账号的信息。20(26)在主界面选择数字0,进去取款界面,系统提示:感谢您的使用,请拿回卡。5总结在确认了程序设计主题之后,首先第一步是画了大概的流程图,因为ATM取款机是我们经常接触的一个机器,所以相对来说话流程图比拟容易。在画完流程图之后,就是进行代码的编写了,我采用自顶向下的方式来规划我的整个代码流程,首先是确定了大概需要哪些函数来实现所需的功能,在函数命名的时候,我并不是随便命名的,而是采用书上介绍的方法,用英文来命名。在命名过程中,由于英语功底不好的我遇到了小小的麻烦(有些单词不会拼),于是就用电子词典来解决这问题。刚开始我是把所有的自定义函数定义为void型函数。所有的函数申明写好之后就可以开始细化了,首先确定所需结构体,然后就是头文件的定义,最后确定了所有函数的编写顺序。由于这次程序设计是ATM取款机,所有要用到文件的知识,但乂没学过,所以只能先停止代码的编写来学习文件的知识。通过了两天的学习,虽然只是略学了皮毛,但是勉强看着书可以来自己新建文件并不数据存入文件中。所有的准备工作完成后,真正的可以进行代码编写了,首先把所有的函数都编写出来(内容为空),然后根据从易到难的顺序逐个功能的编写。其顺序依次是:input_num函数(用户账号输入),input_password函数(密码输入),lock函数(冻结用户账号),read_info函数(读取文件数据),now_exit函数(检查是账号是否存在且未被冻结),existed函数(检杳账号是否被冻结),face函数(主菜单),choose函数(功能选择),balance_refer函数(余额查询),draw_money函数(取款),set_password函数(修改密码),21input_new_password函数(输入新密码),tran_account函数(转账),info_refer函数(查询信息),out函数(退卡)。在写input_password函数时,没方法实现密文的输出,所以研究了很久,最后通过找资料和询问师兄才解决了这一难