C语言课程设计报告银行存取款管理设计Word文档格式.docx

上传人:b****6 文档编号:20964220 上传时间:2023-01-26 格式:DOCX 页数:22 大小:80.97KB
下载 相关 举报
C语言课程设计报告银行存取款管理设计Word文档格式.docx_第1页
第1页 / 共22页
C语言课程设计报告银行存取款管理设计Word文档格式.docx_第2页
第2页 / 共22页
C语言课程设计报告银行存取款管理设计Word文档格式.docx_第3页
第3页 / 共22页
C语言课程设计报告银行存取款管理设计Word文档格式.docx_第4页
第4页 / 共22页
C语言课程设计报告银行存取款管理设计Word文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言课程设计报告银行存取款管理设计Word文档格式.docx

《C语言课程设计报告银行存取款管理设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告银行存取款管理设计Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

C语言课程设计报告银行存取款管理设计Word文档格式.docx

客户资料查询函数;

voidkehu2(structcou*p,char*re,longh);

客户资料添加函数;

voidkehu3(structcou*p,char*re,longh);

客户资料修改函数;

voidkehu4(structcou*p,char*re,longh);

客户资料清楚函数;

voidkehup(structcou*p,char*re,long*h);

客户资料打印函数;

voidcunq1();

存取款办理选择主菜单;

voidcunq11(structcou*p,char*re,longh);

客户存款资料的键入;

voidcunq12(structcou*p,char*re,longh);

客户取款资料的键入;

voidcunq2();

存取款选择查询主菜单;

voidcunq211(structcoup[],char*re,long*h);

把顾客存款资料从文件读到缓冲区;

voidcunq212(structcou*p,char*re,long*h);

打印存款资料;

voidcunq221(structcoup[],char*re,long*h);

把顾客取款资料从文件读到缓冲区;

voidcunq222(structcou*p,char*re,long*h);

打印取款资料;

voidhelp();

使用说明模块。

变量

全局的结构体型数组w(用来存放200多个结构体变量):

externstructcou

{

longb;

charx[20];

longm;

chara[50];

longd;

floatj;

longbc;

charjin[20];

charjin2[20];

chart[20];

floatj1;

floatj2;

floatj3;

floatj4;

}w[200];

局部变量intm;

用来在主和其他函数中进行SWITCH选择判断;

全局变量longt;

用于记录客户卡号,而卡号是在整个程序中都要用到的,因为是全局变量,所以一个客户的卡号不能变更。

charr[20],b[20],c[20];

都为记录客户姓名的一维数组,用在生成客户以及存取款文件和读取客户文件以及存取款文件;

七:

函数调用流程图(客户资料添加与查询部分)

12

注:

上叙具体函数功能见六

(一)函数说明

八:

客户资料添加与查询部分的设计思想

、由于是银行存取款管理设计,考虑到要有较周全的功能要求,所以在设计之初就对最终成品的功能进行了较为详细的布局,最终确定了4个主功能(见源代码)。

、采用了结构化程序设计思想,在主函数外定义了voidkehu();

(客户文件操作)、voidcunq1();

(存取款办理)、voidcunq2();

(存取款查询)、voidhelp();

(使用帮助)以及他们的嵌套函数,使产品功能更加健全。

、对于如何使每次次级操作后能方便的返回主界面,我们在主函数里用到了while

(1)这样函数,再在里面用到几个break;

就实现了返回主界面的功能。

、对于客户及存取款记录的保存我们在这里用到了用FILE类型定义文件指针,从而来以文件形式存放数据,而又用到fopen函数打开文件,用fclose关闭文件,释放文件缓冲区;

又用到fwrite函数使数据写入到磁盘保存,用fread函数把数据拉到缓冲区。

、对于如何使客户文件和客户存取款记录很灵活的结合到一起,我们在主函数前面构造了一个具有多个成员的结构体,从客户文件记录的客户地址、客户电话、当前金额等到客户存取款记录的办理时间、办理人、存取金额等全部囊括在同一个名为cou结构体类型中。

、程序在主函数之前定义了全局的结构体型数组w,为相关文件提供了较为灵活的存取空间,而程序中在fwrite函数之前输入了客户姓名和卡号,这实际上就创建了一个名为所输入客户姓名的文件,从而在资料读取时直接用姓名读取非常方便。

实验总结报告

九:

测试方案

方案

、可以直接打开所给的名为“银行存取款及客户资料管理系统.exe”应用程序进行操作,而操作是纯键盘式的,建议先添加客户文件,或者先查看“关于”中的帮助。

、如果是对源代码进行操作,可以双击名为“银行存取款及客户资料管理系统.c”的.c文件,进入C++运行环境,按“重新组建”,然后点击运行按钮“!

”,运行成功,便可进入主界面,相关操作见上。

而这同时C++又在后台生成了.exe文件,这就是我们所需要的应用程序。

十:

调试中问题及解决方案

调试过程并不是一帆风顺的,比如

、如何对客户各种详细资料进行表示,之前我们并没有想到用结构体,然后再写程序过程中遇到诸多困难,一段时间之后,组员进行仔细研究,并查阅相关书籍,最终确定了用结构体这样便捷的数据类型,而这一决定也为后续工作指明了方向;

、对客户资料的打印,因为没有注意到要把文件资料从文件读取到缓冲区,因而始终不能正确的打印出所要的数据,而最终在组员的一致努力下,察觉到问题,然后fread函数被用到,这问题迎刃而解;

、在程序编写过程中,由于时间关系,难免还有些问题尚未解决,我们不怕暴露问题,我们只求进步。

比如说在写入客户卡号时,用到fwrite(&

h,4,1,fp);

这样的函数语句,虽然h已经被我们定义为long型变量,然为什么上限为245至今尚未得到很好的解决。

但这并不影响我们程序的运行,只要稍微注意一下卡号,程序还是很理想的。

十一:

心得与体会

这次的C语言课程设计我们付出不少,一次一次的编写,一次次的修改,花了不少时间,甚至有时也用上了休息时间。

但我们的收获是那些付出比量不了的。

在一次次的调试与失败中,我们更加坚强,更加专注。

在团队合作过程中也发生过小小的矛盾,但这些终被我们克服,从而转化为难得的友谊,而又使我们对团队这个概念的认识又上升到一个新的高度。

其实一切的一切,都没有知识来的重要,在这次课程设计过程中我们查阅了大量的资料,而有些是书本上都较少提到的,而这些给我们的便是知识,无形的宝贵财富。

最后,老师提供给我们这次难得的课程实习机会,我们是受益匪浅的,当看到一个完整的应用程序出现在我们面前,作为一个初涉软件的学徒来说,又何尝不是感慨万千呢?

我们深怀感恩,一路前行,通信工程,我们来了!

十二:

附源程序清单

#include<

stdio.h>

string.h>

conio.h>

stdlib.h>

/*(把顾客资料)从文件读到缓冲区*/

/*客户资料输入*/

/*新客户资料输入*/

/*资料清除*/

/*打印顾客资料*/

/*客户存款资料的键入*/

/*客户取款资料的键入*/

/*(把顾客存款资料)从文件读到缓冲区*/

/*(把顾客取款资料)从文件读到缓冲区*/

longt;

/*密码*/

/*地址*/

/*电话*/

/*初始金额*/

/*存款流水号*/

/*取款经办人*/

charjin2[20];

/*存款经办人*/

/*时间*/

/*存款金额*/

/*存后总金额*/

/*取款金额*/

/*取后总金额*/

};

structcouw[200];

voidmain()

intm;

while

(1)

{

system("

cls"

);

printf("

欢迎进入银行存取款管理系统\n"

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

**…………………【功能选择】……………………**\n"

**1:

客户添加与操作**\n"

**2:

存取款办理**\n"

**3:

存取款查询**\n"

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

-----请按相应的数字选择您的需要------\n"

scanf("

%d"

&

m);

switch(m)

case1:

kehu();

break;

case2:

cunq1();

case3:

cunq2();

}

getchar();

\n\n\n\n\n---------------按回车键返回主界面------------"

}

voidkehu()

{

charr[20],b[20],c[20];

longh,k;

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

\n客户文件:

1:

客户资料查询"

\n2:

客户资料添加"

\n3:

客户资料修改"

\n4:

客户资料删除"

\n5:

后退\n\n"

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

-------------按相应的数字以选择您的需要-----\n"

case1:

printf("

┏━━━━━━━━━━━┓\n"

▍1:

客户资料查询▍\n"

┗━━━━━━━━━━━┛\n"

printf("

>

>

请输入您要查询的客户的姓名:

\n"

scanf("

%s"

b);

kehu1(w,b,&

t);

/*从文件读到缓冲区*/

kehup(w,b,&

/*打印*/

break;

case2:

▍2:

客户资料添加▍\n"

***********请输入新客户的姓名和卡号(1-245):

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

请输入姓名:

r);

请输入卡号:

%ld"

h);

kehu2(w,r,h);

/*把数据从缓冲区输入到文件*/

case3:

▍3:

客户资料修改▍\n"

\n-------------请输入您要修改的客户的姓名和卡号:

scanf("

c);

k);

kehu3(w,c,k);

/*把新数据从缓冲区输入到文件*/

case4:

▍4:

客户资料删除▍\n"

\n**********请输入您要删除的客户姓名和卡号*********:

kehu4(w,c,k);

/*把0数据从缓冲区输入到文件*/

case5:

default:

fprintf(stderr,"

输入有误!

"

voidkehu1(structcoup[],char*re,long*h)

{FILE*fp;

fp=fopen(re,"

rb"

fread(h,4,1,fp);

fread(&

p[*h],sizeof(structcou),1,fp);

fclose(fp);

voidkehup(structcou*p,char*re,long*h)

客户【%s】详细资料\n"

re);

客户卡号"

%ld\n"

*h);

客户密码"

p[*h].m);

客户电话"

p[*h].d);

客户地址"

%s\n"

p[*h].a);

账户当前金额"

%.2f\n"

p[*h].j);

voidkehu2(structcou*p,char*re,longh)

FILE*fp;

wb"

fwrite(&

*********请键入顾客【%s】

(卡号【%ld】)的客户资料:

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

re,h);

p[h].b=h;

\n>

客户密码:

p[h].m);

客户地址:

p[h].a);

客户电话:

(只接受10位以下的号码)\n"

p[h].d);

客户当前金额:

(建议不要使账户满100万)\n"

%f"

p[h].j);

p[h],sizeof(structcou),1,fp);

voidkehu3(structcou*p,char*re,longh)

\n*******请键入顾客【%s】

(卡号【%ld】)的新的客户资料:

*******\n"

修改后客户密码:

修改后客户地址:

修改后客户电话:

voidkehu4(structcou*p,char*re,longh)

\n\n\n\n***********请输入0键以清除*************:

p[h].m=0;

p[h].d=0;

p[h].j=0;

p[h].bc=0;

}

/*--------------------------------------------------------------------------------------------------------*/

voidcunq1()

charg[20];

longm1;

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

\n1.存款办理2.取款办理3:

后退\n"

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

\n---------按相应的数字以选择您的需要-----\n"

▍1.存款办理▍\n"

--------请输入办理存款业务的客户的姓名和卡号(1-245)\n\n"

输入客户姓名:

g);

输入客户卡号:

m1);

cunq11(w,g,m1);

/*存款数据输入*/

取款办理▍\n"

********请输入办理取款业务的客户的姓名和卡号(1-245)********\n\n"

scanf("

cunq12(w,g,m1);

break;

voidcunq11(structcou*p,char*re,longh)

*************************

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

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1