c语言程序设计atm自动取款机实验报告.doc

上传人:scccc 文档编号:13483324 上传时间:2022-01-05 格式:DOC 页数:50 大小:288.50KB
返回 下载 相关 举报
c语言程序设计atm自动取款机实验报告.doc_第1页
第1页 / 共50页
c语言程序设计atm自动取款机实验报告.doc_第2页
第2页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《c语言程序设计atm自动取款机实验报告.doc》由会员分享,可在线阅读,更多相关《c语言程序设计atm自动取款机实验报告.doc(50页珍藏版)》请在三一文库上搜索。

1、程设计报告 课程类别:本科 课程名称:程序设计基础(C 语言) 课程代号:指导教师: 银行 ATM 自动取款机系统课程设计 姓名: 学号: 姓名: 学号: 姓名: 学号: 学院: 班级: 目录 1. 课程设计内容 . 2. 课程设计要求 . 3可行性研究 . 4需求分析 . 5. . 概要设计 . 功能模块图 . 功能模块描述 . 数据结构 . 6. . 详细设计 . 功能流程图 . 重点设计 . 7. 测试与调试 . 8. 总结. . 心得体会 . 不足与改进 . 9. 参考文献 . . 1. 课程设计内容 模拟银行的自动取款机 ATM 使用过程中的界面和用户交互过程 2. 课程设计要求 (

2、1 )要求利用面向过程的方法以及 C 语言的编程思想来完成系统的设计; (2) 在系统的设计中,要求运用菜单和文件实现系统功能。 (3) 在基本要求达到后,可进行创新设计,如存款、代缴电话费等,或设计友好的界面等。 3. 可行性研究 系统是一个基于局域网、互联网和 WINDOWS 作的系统,现有技术已较为成熟,利用现有技 术完全可以实现系统开发目标。同时具有优秀的软件需求人员、软件设计人员、和具有丰富 经验的软件测试人员。 4. 需求分析 在市场经济的蓬勃发展和人们日益繁忙的条件下,现有的银行系统往往需 要客户在办理手续 时等待很长的时间,这不仅会浪费很多宝贵的时间,也 会使得银行的业务人员十

3、分的繁忙, 需要很大的人力和财力。 5. 概要设计 功能模块图 此处除了系统的模块划分,还要重点描述三人分工情况,分工一定要明确。 功能模块描述 银行自动取款机 菜单界面 1 设 置 储 户 信 息 修 改 密 码 取 储 户 名 查 询 余 额 取 款 转 账 数据结构 #in clude #in elude void mai n() int Num,a,code,ll=0,l=0,p, n,r=0,x,m,Num1,Num2; int num10,fe ng10,mo ney10,s6,t6; int i=0; for(p=0;p9;p+) nump=000000; mo neyp=500

4、0; fen gp=0; loop: . 请陈老师原谅我 N 多的 goto. printf( _ n); printf(| |n); printf(| 欢迎使用 ATM 自动取款机 |n) printf(| |n); printf(| 第一小组热情开发 |n); printf(|_ |n); printf( 请输入卡号: ); scanf(%d,&Num); fflush(stdin); if(Num=00) printf( 是否进入管理员模式? 1/2:); printf( 该帐号已被封存 !n); printf( 按任意键返回 while(getchar()!=EOF) system(c

5、ls); goto loop; else printf( 请输入密码 :); state: scanf(%d,&code); fflush(stdin); if(code!=numNum) n); printf( 密码不正确 ! 请重新输入 :); i+; if(i3) goto state; else printf( 连续三次出错 !n); +r; if(r5000) printf( 累计取款超过 5000 元, 系统出错 .n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto shuru; else if(money

6、Num100) printf( 余额不足 .n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls);. 我实在没想出啥好方法 . goto shuru; else if(moneyNum200) 回上一级 n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf( 正在取款 , 请稍候 . n); moneyNum-=100; l+=100; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(c

7、ls); goto qukuan; break; case 2:goto shuru;break; default: printf( 输入错误 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; else if(moneyNum500) 回上一级 .n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf( 正在取款 ,请稍候 . n); moneyNum-=100; l+=100; printf( 取款成功 !n); print

8、f( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf( 正在取款 ,请稍候 . n); moneyNum-=200; l+=200; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan;printf( 正在取款 , 请稍候 n); break; case 3:goto shuru;break; default: printf( 输入错误 !n); printf(

9、按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; else if(moneyNum1000) 回上一级 .n); scanf(%d,&n); fflush(stdin); switch(n) case 1: moneyNum-=100; l+=100; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf( 正在取款 ,请稍候 . n); moneyN

10、um-=200; l+=200; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3:printf( 正在取款 ,请稍候 n); moneyNum-=500; l+=500; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 4:goto shuru;break; default: printf( 输入错

11、误 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break;printf( 正在取款 , 请稍候 n); else if(moneyNum2000) 回上一级 .n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf( 正在取款 , 请稍候 n); moneyNum-=100; l+=100; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls)

12、; goto qukuan; break; case 2: moneyNum-=200;printf( 正在取款 ,请稍候 n); l+=200; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3: printf( 正在取款 ,请稍候 . n); moneyNum-=500; l+=500; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto

13、qukuan; break; case 4: moneyNum-=1000; l+=1000; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 5:goto shuru;break; default: printf( 输入错误 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break;printf( 取款成功 !n); else 回上一级 .n);

14、scanf(%d,&n); fflush(stdin); switch(n) case 1: printf( 正在取款 , 请稍候 n); moneyNum-=100; l+=100; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf( 正在取款 , 请稍候 n); moneyNum-=200; l+=200;printf( 按任意键返回。 n); printf( 正在取款 , 请稍候 n); while(getchar()!=E

15、OF) system(cls); goto qukuan; break; case 3: printf( 正在取款 , 请稍候 n); moneyNum-=500; l+=500; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 4: moneyNum-=1000; l+=1000; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukua

16、n; break; case 5: printf( 正在取款 ,请稍候 moneyNum-=2000; l+=2000; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 6:goto shuru;break; default: printf( 输入错误 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; break; case 2:goto

17、shuru;break; default: printf( 输入错误 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break;printf(| printf(| 请选择: |n); printf(| 1. 修改密码。 |n); printf(| 2. 返回上一级。 |n); printf(| _ |n); scanf(%d,&x); fflush(stdin); switch(x) case 1: printf( 请输入新密码(六位): n); 帐 |n); printf(| 2. 返回上一级

18、 |n); printf(| _ |n); scanf(%d,&x); fflush(stdin); switch(x) case 1: 入账号 . |n); printf(| 2. 返回上一级 . |n); printf(| _ |n); printf( 请输入选项: ); scanf(%d,&x); switch(x) case 1: printf( 请输入账号 :); scanf(%d,&Num); fflush(stdin); printf(|- 用户名称 :%06d- - |n,Num); printf(| 用户密码 :%06d |n,numNum); printf(| 用户余额 :

19、%6d |n,moneyNum) printf(| _ |n); if(fengNum=1) printf( 该账号已被封存! n); printf( 是否解封? (Y/N)n); scanf(%c,&x); if(x=y)|(x=Y) fengNum=0; printf( 账号已解封! n); else break; printf( 按 0 返回上一级。 ); scanf(%d,&x); fflush(stdin); switch(x) case 0: system(cls); goto guanli; break; default:break; case 2:system(cls);got

20、o guanlimoshi;break; default: printf( 输入错误!请重新输入 :); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto guanli; break; lishijilu: printf(| - 历史纪录 - |n); prin tf(| 对不起,本功能尚未完善,敬请期待后续 . |n); prin tf(| * A_A * |n); printf(| _ |n); prin tf( 按任意键返回。n); while(getchar()!=EOF) system(cls); goto shu

21、ru; 6. 详细设计 功能流程图 (1)设子储户信息流程 (2)修改密码流程 输入原密码 N 输入新密码 退出系统 (一次机会) 取代原密码 重点设计 主要函数 main,enter, getmoney, changepassword, yuerchaxun, banksaves, exitcaozuo. 7. 测试与调试 欢迎界面 功能界面 取款界面 取款结束界面 余额查询界面 修改密码界面 转账界面 Y 与原先存储 密码比对 tran sacco #in clude #in clude void mai n() int Num,a,code,ll=0,l=0,p,n,r=0,x,m,Nu

22、m1,Num2; int num10,feng10,money10,s6,t6; int i=0; for(p=0;p9;p+) nump=000000; moneyp=5000; fengp=0; loop: . 请陈老 师原谅我 N 多的 goto. printf( _ n); printf(| |n); printf(| 欢迎使用 ATM 自动取款机 |n) printf(| |n); printf(| 第一小组热情开发 |n); printf(|_ |n); printf( 请输入卡号: ); scanf(%d,&Num); fflush(stdin); if(Num=00) prin

23、tf( 是否进入管理员模式? 1/2:); printf( 该帐号已被封存 !n); printf( 按任意键返回 while(getchar()!=EOF) system(cls); goto loop; else printf( 请输入密码 :); state: scanf(%d,&code); fflush(stdin); if(code!=numNum) printf( 密码不正确 ! 请重新输入 :); i+; if(i3) n); goto state; else printf( 连续三次出错 !n); +r; if(r5000) printf( 累计取款超过 5000 元 , 系

24、统出错 .n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto shuru; else if(moneyNum100) printf( 余额不足 .n); printf( 按任意键返回 while(getchar()!=EOF) system(cls);. 我实在没想出啥好方法 . goto shuru; n); else if(moneyNum200) 回上一级 n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf( 正在取款 , 请稍候 . n); mon

25、eyNum-=100; l+=100; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2:goto shuru;break; default: printf( 输入错误 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; else if(moneyNum500) 回上一级 .n); scanf(%d,&n); fflush(stdin);

26、switch(n) case 1: printf( 正在取款 , 请稍候 . n); moneyNum-=100; l+=100; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf( 正在取款 ,请稍候 . n); moneyNum-=200; l+=200; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan;

27、break; case 3:goto shuru;break; default: printf( 输入错误 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; else if(moneyNum1000) 回上一级 .n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf( 正在取款 , 请稍候 . n); moneyNum-=100; l+=100; printf( 取款成功 !n); printf( 按任意键返回。 n); w

28、hile(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf( 正在取款 , 请稍候 . n); moneyNum-=200; l+=200; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3: printf( 正在取款 , 请稍候 n); moneyNum-=500; l+=500; printf( 取款成功 !n); printf( 按任意键返回。 n); while

29、(getchar()!=EOF) system(cls); goto qukuan; break; case 4:goto shuru;break; default: printf( 输入错误 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; else if(moneyNum2000) 回上一级 .n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf( 正在取款 , 请稍候 n); moneyNum-=100; l+=100

30、; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf( 正在取款 , 请稍候 n); moneyNum-=200; l+=200; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3: printf( 正在取款 , 请稍候 n); moneyNum-=500; l+=500; prin

31、tf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 4: printf( 正在取款 , 请稍候 . n); moneyNum-=1000; l+=1000; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 5:goto shuru;break; default: printf( 输入错误 !n); printf(

32、按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; else 回上一级 .n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf( 正在取款 , 请稍候 n); moneyNum-=100; l+=100; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf( 正在取款 , 请稍候 .n);

33、moneyNum-=200; l+=200; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3: printf( 正在取款 ,请稍候 . n); moneyNum-=500; l+=500; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 4: printf( 正在取款 ,请稍候 . n); mone

34、yNum-=1000; l+=1000; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 5: printf( 正在取款 , 请稍候 n); moneyNum-=2000; l+=2000; printf( 取款成功 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 6:goto shuru;break; default: pri

35、ntf( 输入错误 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; break; case 2:goto shuru;break; default: printf( 输入错误 !n); printf( 按任意键返回。 n); while(getchar()!=EOF) system(cls); goto qukuan; break; printf(| - 修改密码 - |n); printf(| 请选择: |n); printf(| 1. 修改密码。 |n); printf(| 2.

36、 返回上一级。 |n); printf(| _ |n); scanf(%d,&x); fflush(stdin); switch(x) case 1: printf( 请输入新密码(六位): n); 帐 |n); printf(| 2. 返回上一级 |n); printf(| _ |n); scanf(%d,&x); fflush(stdin); switch(x) case 1: 入账号 . |n); printf(| 2. 返回上一级 . |n); printf(| |n); printf( 请输入选项: ); scanf(%d,&x); switch(x) case 1: printf(

37、 请输入账号 :); scanf(%d,&Num); fflush(stdin); printf(|- 用户名称 :%06d- - |n,Num); printf(| 用户密码 :%06d |n,numNum); printf(| 用户余额 :%6d |n,moneyNum); printf(| _ |n); if(fengNum=1) printf( 该账号已被封存! n); printf( 是否解封? (Y/N)n); scanf(%c,&x); if(x=y)|(x=Y) fengNum=0; printf( 账号已解封! n); else break; printf( 按 0 返回上一级。 ); scanf(%d,&x); fflush(stdin); switch(x) case 0: system(cls); goto guanli; break;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1