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

上传人:wj 文档编号:1508294 上传时间:2023-04-30 格式:DOC 页数:29 大小:988.50KB
下载 相关 举报
银行ATM机存取款系统程序设计Word格式.doc_第1页
第1页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第2页
第2页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第3页
第3页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第4页
第4页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第5页
第5页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第6页
第6页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第7页
第7页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第8页
第8页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第9页
第9页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第10页
第10页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第11页
第11页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第12页
第12页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第13页
第13页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第14页
第14页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第15页
第15页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第16页
第16页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第17页
第17页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第18页
第18页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第19页
第19页 / 共29页
银行ATM机存取款系统程序设计Word格式.doc_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《银行ATM机存取款系统程序设计Word格式.doc》由会员分享,可在线阅读,更多相关《银行ATM机存取款系统程序设计Word格式.doc(29页珍藏版)》请在冰点文库上搜索。

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

5)qukuan函数:

客户取款

6)xgmm函数:

进行密码修改

7)cunkuan函数:

客户存款

8)zhuanzhang函数:

客户转账

9)tuichu函数:

退出系统

2.主函数调用各功能函数流程

F

退

E存款

C

转账

B查询

A取款

输入密码

输入卡号

1、

设置银行卡密码

设置卡号

输入姓名

2、

D修改密码

用户菜单界面

打开文件,载入信息

开始

四.数据结构描述

structper/*定义结构体*/

{

charname[20];

/*姓名*/

charID[20];

/*卡号*/

intmoney;

/*金额*/

charcode[6];

/*密码*/

structper*next;

/*定义指针*/

};

typedefstructperson

{

structperkehu;

structperson*next;

}L;

该数据结构为链表,是一种动态进行存储分配的结构。

链表的每一个一个节点中包含了一个指针变量,用它存放下一个结点的地址,环环相扣。

五算法设计

输入银行密码

链表中添加该记录

结束

1、开户

2.登录

进入用户菜单界面

与原密码是否相同

错误次数是否小于三

否是

3.取款

是否大于存款金额

成功取出

输入取款金额

余额不足

是否

4.存款

输入存款金额

5.密码修改

输入新密码

6.转账

输入转入卡号

成功转入

再次输入转入卡号

输入转账金额

是否

7.查询

输出余额

六.程序运行结果

1.开户

3.选择业务

4.取款

5、查询

7、修改密码

8、存款

9、退出

退出系统。

七总结

1.分工情况

何慧冬:

程序框架的搭建和运行调试后的修改

贡怡敏:

界面处理和函数内容的补充

徐唯一:

算法设计和流程图的制作

2.心得体会

这次对银行ATM机的程序编写过程中,遇到了不少困难。

首先是经过一个暑假,小组成员对之前学的C程序设计内容掌握程度不像上学期那么高,加上短学期接触到了C++的相关内容,对新知识点的理解和运用也不是很熟练,所以一开始比较难上手。

其次是对结构体、指针等重点难点内容的运用不是很擅长。

在弄清楚各个函数的使用后,把各个函数的功能镶嵌起来比较花功夫。

在设计上面,我们觉得“密码最多允许输错三次”这个环节比较考验人。

尤其是不断地调试,要把组员们各自编译的函数搭建起来完美运行并不是件容易的事,需要三个人一起分析和探讨,在调试的过程中不断修改,直至完美运行。

过程是艰辛的,结果是可喜的。

程序的完美呈现,离不开三个人的共同努力。

自己需要做好自己的那一部分,而团队合作便是成功的核心。

通过这次小组合作程序设计,真是让我受益匪浅。

银行ATM机的程序编写,不仅很好地让我们运用起所学的C语言的相关知识,也与我们的经济学专业相衔接,这与平时的做题有很大的不同。

虽然对于界面的设计看似较容易上手,但我们的程序构思却是和这界面设计有着莫大的联系,丝毫不能马虎的。

在调试运行我们的程序时,每一个步骤都不能省略,才能保证我们的程序是否真的完美运行没有差错。

在操作过程中的轻松,背后是我们小组齐心协力的智慧的结晶。

当然我们的程序在细节和人性化角度还存在着一些问题,比如说想要转账的,但是如果不小心摁到了取款,没有直接退出的环节,只能先“将错就错”后再退出,然后转到原本想操作的“转账”上面。

这次银行ATM机程序编写对我来说真是一次巨大的考验。

整个程序的算法设计,逻辑思维能力是关键性因素。

为了能够使我们的程序精益求精,少不了反复构思,返工的情况也是很常见的。

好不容易把整个思路构想出来,却因为某些瑕疵而全部推翻,很是郁闷。

不过功夫不负有心人,三人的智慧加在一起,没有什么做不到的。

共同思考,达成共识,没有合理的设计,也就不能编写出合适的程序。

不过因为我们的能力有限,还是存在一些遗憾,就比如我最在意的点错不能及时退出这一细节。

当然我们相信,在今后的学习过程中,我们能更加掌握好C语言的相关知识,将我们的程序完善,使其更具人性化。

3.自评得分

97

96

98

附页(源代码附加注释)

#include<

stdio.h>

string.h>

stdlib.h>

voidchaxun(structper*head);

/*各个函数的声明*/

voidkaihu(structper*head);

voiddenglu(structper*head);

voidcaidan(structper*head);

voidqukuan(structper*head);

voidxgmm(structper*head);

voidcunkuan(structper*head);

voidzhuanzhang(structper*head);

voidtuichu();

/*主函数*/

voidmain()

{

charx;

charchoose;

/*choose为定义输入选择的变量*/

intflag=1;

structperson*Phead=NULL;

/*r为定义二层头指针*/

structper*head=NULL;

/*head为定义一层头指针*/

printf("

********************************\n"

);

**欢迎使用ATM自动取款机系统***\n"

********************************\n\n\n\n"

---------------------------\n"

printf("

|请选择您的需求|\n"

|1开户|\n"

|2登录|\n"

scanf("

%s"

&

x);

system("

cls"

switch(x)

{

case'

1'

:

system("

kaihu(head);

/*调用开户函数*/

break;

2'

denglu(head);

/*调用登陆函数*/

}

}

/*开户函数*/

voidkaihu(structper*head)

head=NULL;

FILE*fp;

/*定义文件指针*/

per*p1=NULL,*p2=NULL;

/*p1,p1为定义链表指针*/

p1=(per*)malloc(sizeof(per));

/*开辟内存单元*/

printf("

请输入您的姓名:

\n"

/*将数据输入链表中*/

scanf("

p1->

name);

printf("

请设置您的卡号:

ID);

请设置您银行卡密码:

code);

p1->

money=0;

next=NULL;

printf("

您的个人信息为\n"

printf("

姓名:

%s\n卡号:

%s\n余额:

%4d\n"

name,p1->

ID,p1->

money);

if(NULL==head)/*为新增客户开辟内存单元*/

{

head=(per*)malloc(sizeof(per));

head->

next=p1;

}

else/*为新增客户开辟内存单元*/

{

for(p2=head;

p2->

next!

=NULL;

p2=p2->

next);

p2->

next=p1;

}

if((fp=fopen("

save.txt"

"

ab+"

))==NULL)/*打开文件*/

{

cannotopenfile\n"

return;

}

if(fwrite(p1,sizeof(per),1,fp)!

=1)/*将链表信息写入文件中*/

printf("

filewriteerror\n"

fclose(fp);

恭喜您开户成功,请登录\n"

system("

pause"

denglu(head);

/*登陆函数*/

voiddenglu(structper*head)

{

chard[20];

charcode[20];

inti,j;

FILE*fp;

/*定义文件指针*/

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;

/*保存当前结点的指针,作为下一结点的前驱*/

p=p->

next;

/*指针后移,新读入数据链到当前表尾*/

}

q->

next=NULL;

/*最后一个结点的后继指针为空*/

fclose(fp);

printf("

***********************\n"

* 欢迎来到建设银行*\n"

for(j=1;

j<

4;

j++)/*限制卡号输入的次数的循环*/

{

请您输入卡号\n"

d);

for(q=head;

q!

q=q->

next)/*便利链表*/

if(strcmp(q->

ID,d)!

=0) /*核对账号*/

continue;

}

else

for(i=1;

i<

i++)/*限制密码输入的次数的循环*/

{

printf("

\n\n请输入您的密码\n"

scanf("

code);

if(strcmp(q->

code,code)!

=0)/*核对密码*/

printf("

密码不正确,请重新输入密码\n"

system("

continue;

/*若密码不对,跳出循环*/

else

{

system("

caidan(head);

/*调用菜单函数*/

\n\n\n您输入密码三次错误,谢谢光临\n"

system("

exit(0);

\n\n\n您输入的卡号有误,请重试\n"

}

您的卡号三次输入错误,谢谢使用"

exit(0);

/*银行菜单函数*/

voidcaidan(structper*head)

head=NULL;

inti;

/*i为客户选择输入的变量*/

while

(1)

{

请选择您需要的业务\n"

/*银行业务菜单*/

***********************************\n"

**1取款*****2查询**\n"

**3转账*****4修改密码**\n"

**5存款*****6退出**\n"

***********************************\n\n\n"

%d"

i);

if(i<

6||i>

0)

switch(i)

{

case1:

qukuan(head);

/*调用银行取款函数*/

system("

break;

case2:

system("

chaxun(head);

/*调用银行查询函数*/

;

case3:

zhuanzhang(head);

/*调用银行转账函数*/

case4:

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

当前位置:首页 > 小学教育 > 语文

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

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