C语言程序设计报告(模拟ATM取款机)精品资料.doc





《C语言程序设计报告(模拟ATM取款机)精品资料.doc》由会员分享,可在线阅读,更多相关《C语言程序设计报告(模拟ATM取款机)精品资料.doc(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、仲恺农业工程学院工程实训报告ATM取款机 课程名称 C语言程序设计工程实训姓 名 林少烈院(系) 计算机科学与工程学院专业班级 计算机113班学 号 201110214317指导教师 王成仲恺农业工程学院教务处制目 录1 需求分析12 系统总框图和功能模块说明12.1 系统总框图12.2 功能模块说明13 系统设计23.1 主要结构体23.2主要功能函数23.3 关键函数的流程图34 系统调试115 总结216 源程序清单236.1头文件236.2主程序236.3 解除被冻结用户406.4 用户注册4151 1 需求分析所设计的取款机应具备以下功能:l 插入银行卡(用账号输入的方式代替);l
2、密码的输入;l 用户信息查询;l 用户余额查询;l 取款;l 转账;l 修改密码;l 退卡。2 系统总框图和功能模块说明2.1 系统总框图取款机输入用户账号输入账号密码查询用户信息查询账号余额转账取款修改密码退卡 信息读取 冻结账号图1 系统总框图2.2 功能模块说明 输入用户账号模块:在运行时,完成用户账号的输入(代替插卡); 输入账号密码模块:在输入账号之后,完成用户密码的输入;在修改密码的过程中,完成用户输入旧密码的功能; 信息读取功能模块:完成用户信息的读取; 冻结账号功能模块:当输入密码3次错误时,冻结用户账号: 查询用户信息模块:完成用户的信息查询(不包括余额查询); 查询余额功能
3、模块:完成用户余额的查询; 取款功能模块:完成取款功能模块: 转账功能模块:完成转职功能; 修改密码功能模块:完成用户修改密码功能; 退卡功能模块:完成退卡功能(即:退出程序功能)。3 系统设计3.1 主要结构体用户账号、姓名、密码、余额struct User/用户数据char num20;/用户账号char name10;/姓名char password7;/密码float balance;/余额;3.2主要功能函数void read_info();/用户信息读取void input_num(char * num);/输入账号void now_exist(char * num);/判断是否被
4、冻结或不存在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
5、();/信息查询void out();/退出程序void lock();/冻结账号void save_info();/存储信息3.3 关键函数的流程图Ni+elsel=0;l=1;break;l=1i12i=0读取文件信息printf(It cannot open !);1!feof(fp)打开文件intl=0,i=0;now_exited 函数流程图else调用input_pssword 函数s=1判断账号是否存在elses=0;i+ints=0,i;1i=0i12s=1;break;用户不存在,重新输入冻结账号判断密码是否正确exited 函数流程图input_password 流程图ch
6、oose 函数流程图draw_money 函数流程图iint i=0;打开文件关闭文件printf(It cannot open !);读取文件!feof(fp)input_new_password 函数流程图 读取文件数据函数流程图save_info 函数流程图lock 函数流程图i=0iUi+fclose(fp);randomi=0;int i;i=0i12i+产生随机数打开文件进行写入printf(It cannot open !);4 系统调试首先运行程序,系统提示输入账号。(1)当输入错误账号,系统提示:用户不存在,请从新输入。,(2)当输入错误的密码时,系统提示:密码有误,请重新输
7、入。(3)当输入正确账号与密码时,进入主页面。(4)主界面(5)在主界面选择数字1,进入查询余额界面,界面显示余额。按任意键返回。(6)在主页面选择数字2,进入取款界面,系统提示输入取款的金额,当输入不是整百数是,系统提示请输入正确的金额,请重新输入。(8)当输入负数时,系统提示:请输入正确的金额,请重新输入。(9)当输入超过卡里余额的数,系统会提示余额不足,请重新输入。2(10)当输入超过3000的数时,系统会提示:对不起,一次最多能取3000元,请重新输入。(11)当输入正确的金额时,系统提示:交易成功,按0返回主菜单,按9继续取款。(12)在主菜单界面选择数字3,进入修改密码界面,首先系
8、统会提示:请输入旧密码。(13)当输入就密码正确时,系统提示:请输入新密码(6位数)。(14)当输入的新密码含有非数字时,系统提示:请输入正确的数字。(15)当输入的新密码不足六位时,系统提示:请输入六位的密码。(16)当两次输入的新密码不相同时,系统会提示:两次输入的密码不同,请重新输入。(17)当输入两次密码都正确时,系统提示:密码修改成功,请牢记新密码。(18)在主菜单界面选择数字4时,进入转账界面。系统提示:请输入对方的账号:(19)当输入的账号错误时,系统会提示:用户不存在,请重新输入。(20)当输入自己的账号时,系统会提示:不能给自己转账,请重新输入账号。(21)当输入正确的账号时
9、,界面会显示对方的信息。按0返回菜单,按9确定转账。9(22)当确定转账时,系统会提示:请输入转账金额。(23)当输入转账的金额超过3000元时,系统会提示:对不起,一次转账不能超过3000元,请重新输入。(24)当输入正确的金额时,系统提示:交易成功。按0返回主菜单,按9继续转账。(25)在主菜单界面选择数字5,进入信息查询界面,界面将显示账号的信息。(26)在主界面选择数字0,进去取款界面,系统提示:感谢您的使用,请拿回卡。5 总结在确认了程序设计主题之后,首先第一步是画了大概的流程图,因为ATM取款机是我们经常接触的一个机器,所以相对来说话流程图比较容易。在画完流程图之后,就是进行代码的
10、编写了,我采用自顶向下的方式来规划我的整个代码流程,首先是确定了大概需要哪些函数来实现所需的功能,在函数命名的时候,我并不是随便命名的,而是采用书上介绍的方法,用英文来命名。在命名过程中,由于英语功底不好的我遇到了小小的麻烦(有些单词不会拼),于是就用电子词典来解决这问题。刚开始我是把所有的自定义函数定义为void型函数。所有的函数申明写好之后就可以开始细化了,首先确定所需结构体,然后就是头文件的定义,最后确定了所有函数的编写顺序。由于这次程序设计是取款机,所有要用到文件的知识,但又没学过,所以只能先停止代码的编写来学习文件的知识。通过了两天的学习,虽然只是略学了皮毛,但是勉强看着书可以来自己
11、新建文件并不数据存入文件中。所有的准备工作完成后,真正的可以进行代码编写了,首先把所有的函数都编写出来(内容为空),然后根据从易到难的顺序逐个功能的编写。其顺序依次是:input_num函数(用户账号输入),input_password函数(密码输入),lock函数(冻结用户账号),read_info函数(读取文件数据),now_exit函数(检查是账号是否存在且未被冻结),existed函数(检查账号是否被冻结),face函数(主菜单),choose函数(功能选择),balance_refer函数(余额查询),draw_money函数(取款),set_password函数(修改密码),inp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计报告模拟ATM取款机 精品资料 语言程序设计 报告 模拟 ATM 取款 精品 资料

限制150内