c语言专周atm模拟系统.doc_第1页
c语言专周atm模拟系统.doc_第2页
c语言专周atm模拟系统.doc_第3页
c语言专周atm模拟系统.doc_第4页
c语言专周atm模拟系统.doc_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言专周 ATM模拟系统实验报告指导老师: 班 级: 学 号: 姓 名: 时 间: 一、实验目的:通过专周的学习和实践,认识到C语言是以函数为模块,让学生掌握基本常用的编程语句和方法,培养学生的动手能力,让学生在实践当中发现问题,解决问题,以及认识到自己的不足并且能够及时改正,从而起到提高学生水平的作用。二、实验要求:1、要用函数调用语句;2、每执行完余额查询、密码修改、取款、转账要有是否继续语句;3、写出完整的ATM机运行程序;4、完成实验报告三、实验环境:编写程序的地方是学校的学生机房;所运用的编写软件是VC+6.0;四、程序的总体框架图ATM机系统余额查询密码修改取款转账五、部分模块流程图 定义帐号密码佘额 r=0输入账号A判断账号是否正确输入密码判断密码是否正确退出系统开始YESNO主函数:NOYES调用f1函数调用f2函数调用f3函数调用f4函数判断是否继续YES退出系统NOr+判断r是否为3NO退出系统YES输出选择的语句调入佘额判断佘额是否为0调用f0看返回值是否为0调用f5进行返回佘额调用f0看返回值是否为0调用f0看返回值是否为0调用f5进行返回佘额调用f5进行返回佘额YESNO765判断取款是否为50和100的倍数NONONOYESYESYESYES返回佘额NO取款函数:退出系统输出选择输入金额输出输入的金额不正确调入帐号佘额定义b为当前帐号对应的佘额转账函数:判断输入的帐号是否为当前帐号YESNO判断输入的帐号是否存在YESNO判断2次输入的帐号是否相同YES输入转帐金额,调用f5函数进行佘额的返回判断返回的金额是否变化返回佘额YESNO输入帐号输出不能给自己转账输出确认对方帐号输出帐号错误输出两次帐号不一致输出转帐成功调入密码判断密码是否为六位数确认新密码密码修改函数:判断两次是否一致密码变为输入的值,输出密码修改成功返回密码YESYESNONO输入新密码输入密码错误(由于写标准的流程图不好写且对读程序的帮助不大,所以写成通俗的流程图)两次输入不一致六、程序和对程序的具体分析:#include #include void f1(int a);int f2(int a);int f5(int g,int a);int f3(int g);int f0(int n);int m,q,w=0;int f4(int a0,int a1,int a2,int a3,int a4,int c0,int c1,int c2,int c3,int c4,int p,int a);void main ()inta5= 123451,123452,123453,123454,123455;intb5=123451,123452,123453,123454,123455;intc5=50000,50000,50000,50000,50000;inti,j;m=0; *m为控制运行一次程序取钱不超过20000的变量*printf(欢迎使用A*n进入系统请输入帐号n);scanf(%d,&i); int p; for(p=0;p5;p+) if(i=ap) break;if(p=5) exit(0); *从for到这是找到帐号对应的a假如p会为5则退出*int r=0; *r是控制输入错误密码次数*loop3:if(r=3) *当r=3时为已输入错误密码3次退出糸统*exit (0);elseprintf(请输入密码n);scanf(%d,&j);if(j=bp) *输入的密码正确执行下面语句* loop1: printf(*n1 查询余额n2 密码修改n3 取 款n4 转 账n*n);scanf(%d,&i); switch(i) case 1: f1(cp); printf(n是否继续?是请按0不是请按1n); scanf(%d,&i); if(i=0) goto loop1; *执行完f1后看是否继续(下一样)*else exit (0); case 2: bp=f2(bp); printf(n是否继续?是请按0不是请按1n); scanf(%d,&i); if(i=0) goto loop1;elseexit (0); case 3: cp=f3( cp);printf(n是否继续?是请按0不是请按1n); scanf(%d,&i); if(i=0) goto loop1;elseexit (0); case 4: cp=f4(a0,a1,a2,a3,a4,c0,c1,c2,c3,c4,ap,cp);if(w!=0) for(j=0;j5;j+) * w是全局变量初值为0当执行f4后要是转帐成功后,为转入钱if(aj=w) 的帐号for语句为找到帐号对应的余额* cj=cj+q; printf(n是否继续?是请按0不是请按1n); scanf(%d,&i);if(i=0) goto loop1; elseexit (0);default: exit(0); else r+;goto loop3; *当密码错误时r+1返回loop3*void f1(int a) *查询余额*printf(您的当前余额是:%d,a);int f2(int a) *密码修改* int b,c; printf(请输入新密码n); scanf(%d,&b);if(b=100000&b!=a) *密码要六位且首位不为0* printf(确认新密码n );elseprintf(输入新密码错误n);goto loop2; scanf(%d,&c);if(b!=c) printf (密码错误!n两次输入的密码不同); loop2: return a; else printf (密码修改成功n); return b;int f5(int g,int a) *钱额的减*if(g=a&a!=0)g=g-a;printf(交易成功!);elseif(a=0) printf(输入错误n);elseprintf(余额不足!);return g;int f3(int g) *取款*if(g=0) printf(余额为0!); return g;int i,j;printf(*n);printf(1是100,2是200,3是300,4是500,5是1000,6是2000,7是其他金额 n);printf(*n);scanf(%d,&i);if(i=1)if(f0(100) return g; else *取钱时先看取钱总是否超过20000, g=f5(g,100); 超过进行返回佘额,不运行f5佘额的减*else if(i=2)if(f0(200) return g;else g=f5(g,200);else if(i=3)if(f0(300) return g;else g=f5(g,300);else if(i=4)if(f0(500) return g;else g=f5(g,500);else if(i=5)if(f0(1000) return g;else g=f5(g,1000);else if(i=6)if(f0(2000) return g; elseg=f5(g,2000);else if(i=7)printf(请输入金额);scanf(%d,&j);if(j%50=0&j=g&j20000)printf(取钱不能超过20000!);x=1;return x;int f4(int a0,int a1,int a2,int a3,int a4,int c0,int c1,int c2,int c3,int c4,int p,int a) * 转账*int i,j,b=a,k;printf(请输入对方帐号);scanf(%d,&i);if(i=p)printf(不能给自己转账); *先排除给自己转账*elseif(i=a0|i=a1|i=a2|i=a3|i=a4) printf(再次确认对方帐号);scanf(%d,&j); if(j=i) printf(输入转账金额n);scanf(%d,&q); a=f5(a,q); if(a!=b) w=j;printf(转账成功n); * w为全局变量,当a不等于b时为转账成功w变为 转入的帐号* elseprintf(两次帐号不一致n);else printf(帐号错误); return a;实验心得:这次专周使我更加明白C语言特点是以函数为模块和学会了怎样编大型程序的方法,一开始我一下子编了一大堆和序出来然后进行调试,发现一大堆错误,后来不知怎搞的把程序搞没了,我下午来的时候只能重新编。这以后我就编一点检查一点,先完成主函数在主函数调用成功后,再编其他函数,调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论