ImageVerifierCode 换一换
格式:DOC , 页数:29 ,大小:988.50KB ,
资源ID:1508294      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1508294.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(银行ATM机存取款系统程序设计Word格式.doc)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

银行ATM机存取款系统程序设计Word格式.doc

1、5)qukuan函数:客户取款6)xgmm函数:进行密码修改7)cunkuan函数:客户存款8)zhuanzhang函数:客户转账9)tuichu函数:退出系统2主函数调用各功能函数流程F退出E存款C转账 B查询A取款输入密码输入卡号1、登录设置银行卡密码设置卡号输入姓名2、开户D修改密码用户菜单界面打开文件,载入信息开始四 数据结构描述struct per /*定义结构体*/ char name20; /*姓名*/ char ID20; /*卡号*/ int money; /*金额*/ char code6; /*密码*/ struct per *next; /*定义指针*/;typedef

2、 struct person struct per kehu ; struct person *next; L;该数据结构为链表,是一种动态进行存储分配的结构。链表的每一个一个节点中包含了一个指针变量,用它存放下一个结点的地址,环环相扣。五 算法设计输入银行密码链表中添加该记录结束1、开户2.登录进入用户菜单界面与原密码是否相同错误次数是否小于三 否 是 是 否3.取款是否大于存款金额成功取出输入取款金额余额不足 是 否4.存款输入存款金额5.密码修改输入新密码 否 是6.转账输入转入卡号成功转入再次输入转入卡号输入转账金额 是 否7.查询输出余额 六 程序运行结果1.开户3.选择业务4.取款

3、5、查询7、修改密码8、存款9、退出退出系统。七 总结1. 分工情况何慧冬:程序框架的搭建和运行调试后的修改贡怡敏:界面处理和函数内容的补充徐唯一:算法设计和流程图的制作2. 心得体会这次对银行ATM机的程序编写过程中,遇到了不少困难。首先是经过一个暑假,小组成员对之前学的C程序设计内容掌握程度不像上学期那么高,加上短学期接触到了C+的相关内容,对新知识点的理解和运用也不是很熟练,所以一开始比较难上手。其次是对结构体、指针等重点难点内容的运用不是很擅长。在弄清楚各个函数的使用后,把各个函数的功能镶嵌起来比较花功夫。在设计上面,我们觉得“密码最多允许输错三次”这个环节比较考验人。尤其是不断地调试

4、,要把组员们各自编译的函数搭建起来完美运行并不是件容易的事,需要三个人一起分析和探讨,在调试的过程中不断修改,直至完美运行。过程是艰辛的,结果是可喜的。程序的完美呈现,离不开三个人的共同努力。自己需要做好自己的那一部分,而团队合作便是成功的核心。通过这次小组合作程序设计,真是让我受益匪浅。银行ATM机的程序编写,不仅很好地让我们运用起所学的C语言的相关知识,也与我们的经济学专业相衔接,这与平时的做题有很大的不同。虽然对于界面的设计看似较容易上手,但我们的程序构思却是和这界面设计有着莫大的联系,丝毫不能马虎的。在调试运行我们的程序时,每一个步骤都不能省略,才能保证我们的程序是否真的完美运行没有差

5、错。在操作过程中的轻松,背后是我们小组齐心协力的智慧的结晶。当然我们的程序在细节和人性化角度还存在着一些问题,比如说想要转账的,但是如果不小心摁到了取款,没有直接退出的环节,只能先“将错就错”后再退出,然后转到原本想操作的“转账”上面。这次银行ATM机程序编写对我来说真是一次巨大的考验。整个程序的算法设计,逻辑思维能力是关键性因素。为了能够使我们的程序精益求精,少不了反复构思,返工的情况也是很常见的。好不容易把整个思路构想出来,却因为某些瑕疵而全部推翻,很是郁闷。不过功夫不负有心人,三人的智慧加在一起,没有什么做不到的。共同思考,达成共识,没有合理的设计,也就不能编写出合适的程序。不过因为我们

6、的能力有限,还是存在一些遗憾,就比如我最在意的点错不能及时退出这一细节。当然我们相信,在今后的学习过程中,我们能更加掌握好C语言的相关知识,将我们的程序完善,使其更具人性化。3. 自评得分979698附页(源代码附加注释)#includestring.hstdlib.h void chaxun(struct per *head); /*各个函数的声明*/void kaihu(struct per *head);void denglu(struct per *head);void caidan(struct per *head);void qukuan(struct per *head);voi

7、d xgmm(struct per *head);void cunkuan(struct per *head);void zhuanzhang(struct per *head);void tuichu();/*主函数*/void main() char x; char choose; /*choose为定义输入选择的变量*/ int flag=1; struct person *Phead=NULL; /*r为定义二层头指针*/ struct per *head=NULL; /*head为定义一层头指针*/ printf( *n); * 欢迎使用ATM自动取款机系统 *n *nnnn-npr

8、intf(| 请选择您的需求 |n| 1 开户 |n| 2 登录 |n scanf(%s,&x); system(cls switch(x) case 1:system( kaihu(head); /*调用开户函数*/ break; 2 denglu(head); /*调用登陆函数*/ /*开户函数*/void kaihu(struct per *head) head=NULL; FILE *fp; /*定义文件指针*/ per *p1=NULL,*p2=NULL; /*p1,p1为定义链表指针*/ p1=(per*)malloc(sizeof(per); /*开辟内存单元*/printf(请

9、输入您的姓名:n /*将数据输入链表中*/ scanf(,p1-name ); printf(请设置您的卡号:ID);请设置您银行卡密码:code); p1-money=0;next =NULL; printf(您的个人信息为n printf(姓名:%s n卡号:%s n余额:%4dnname ,p1-ID,p1-money ); if(NULL=head) /*为新增客户开辟内存单元*/ head=(per *)malloc(sizeof(per); head-next =p1; else /*为新增客户开辟内存单元*/ for(p2=head;p2-next!=NULL;p2=p2-nex

10、t); p2-next=p1; if(fp=fopen(save.txt,ab+)=NULL) /*打开文件*/ cannot open filen return; if(fwrite(p1,sizeof(per),1,fp)!=1) /*将链表信息写入文件中*/ printf(file write errorn fclose(fp);恭喜您开户成功,请登录n system(pause denglu(head);/*登陆函数*/ void denglu(struct per *head) char d20; char code20; int i,j; FILE *fp; /*定义文件指针*/

11、per *p,*q=NULL; if(fp=fopen(rb+)=NULL) /*打开一个二进制文件,为读方式*/ printf(不能打开文件n /*如不能打开,则结束程序*/ p=(per*)malloc(sizeof(per); /*申请空间*/ head=p; while(!feof(fp) /*循环读数据直到文件尾结束*/ if(1!=fread(p,sizeof(per),1,fp) break; /*如果没读到数据,跳出循环*/ p-next=(per *)malloc(sizeof(per);/*为下一个结点申请空间*/ q=p; /*保存当前结点的指针,作为下一结点的前驱*/

12、p=p-next; /*指针后移,新读入数据链到当前表尾*/ q-next=NULL; /*最后一个结点的后继指针为空*/ fclose(fp); printf( *n * 欢迎来到建设银行 *n for(j=1;jnext) /*便利链表*/ if(strcmp(q-ID,d)!=0) /*核对账号*/ continue; else for(i=1;icode,code)!=0) /*核对密码*/ printf(密码不正确,请重新输入密码n system( continue; /*若密码不对,跳出循环*/ else system( caidan(head); /*调用菜单函数*/nnn您输入

13、密码三次错误,谢谢光临n system( exit(0);nnn您输入的卡号有误,请重试n 您的卡号三次输入错误,谢谢使用 exit(0); /*银行菜单函数*/void caidan(struct per *head) head=NULL; int i; /*i为客户选择输入的变量*/ while(1) 请选择您需要的业务n /*银行业务菜单*/*n* 1取款 * 2查询 *n* 3转账 * 4修改密码*n* 5存款 * 6退出 *n*nnn%di); if(i0)switch(i) case 1:qukuan(head); /*调用银行取款函数*/ system( break; case 2: system( chaxun(head); /*调用银行查询函数*/; case 3: zhuanzhang(head); /*调用银行转账函数*/ case 4:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2