C语言课程设计报告(银行存取款管理设计)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言课程设计》银行存取款管理设计

学院名称:

专业班级:通信113

姓名:

学号:

指导教师:

2012年06月28日

预习报告

一:设计题目

银行存取款管理设计

二:功能要求

①能够添加和修改以及删除客户文件。(在客户文件中,每个客户是一条记

录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额)。

②能够输入和查询客户存款取款记录。(在存取款文件中,每次存取款是一

条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种)。

③能够给程序提供运行提示。

三:设计要求

①、用C语言实现系统;

②、函数功能要划分好(结构化程序设计);

③、界面友好(良好的人机交互),加必要的注释;

④、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能

运行起来,不能运行的程序是没有价值的。

四:设计目的

①、通过这次课程设计,使我们更加深入地理解和掌握C语言基本概念,切身体会用结构化程序设计的工程思想,感受C语言的魅力。

②、通过这次课程设计,培养我们独立思考、勇于探索、积极创新、严谨求实、有过必改的工作态度以及较熟的上级操作能力,同时加强我们团结友爱,协作攻关的团队合作意识。

五:设计框架图

六:函数与变量说明

㈠自定义函数

void main():在里面写了“功能选择”的SWITCH函数;

void kehu();客户资料添加与操作主菜单;void kehu1(struct cou p[],char *re,long *h); 客户资料查询函数;

void kehu2(struct cou *p,char *re,long h);客户资料添加函数;

void kehu3(struct cou *p,char *re,long h); 客户资料修改函数;

void kehu4(struct cou *p,char *re,long h); 客户资料清楚函数;

void kehup(struct cou *p,char *re,long *h); 客户资料打印函数;

void cunq1(); 存取款办理选择主菜单;

void cunq11(struct cou *p,char *re,long h);客户存款资料的键入;

void cunq12(struct cou *p,char *re,long h); 客户取款资料的键入;

void cunq2();存取款选择查询主菜单;

void cunq211(struct cou p[],char *re,long *h);把顾客存款资料从文件读到缓冲

区;

void cunq212(struct cou *p,char *re,long *h);打印存款资料;

void cunq221(struct cou p[],char *re,long *h);把顾客取款资料从文件读到缓冲

区;

void cunq222(struct cou *p,char *re,long *h);打印取款资料;

void help(); 使用说明模块。

㈡变量

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

extern struct cou

{

long b;

char x[20];

long m;

char a[50];

long d;

float j;

long bc;

char jin[20];

char jin2[20];

char t[20];

float j1;

float j2;

float j3;

float j4;

} w[200];

②局部变量int m;用来在主和其他函数中进行SWITCH选择判断;

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

④char r[20],b[20],c[20];都为记录客户姓名的一维数组,用在生成客户以及存取款文件和读取客户文件以及存取款文件;

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

注:上叙具体函数功能见六(一)函数说明八:客户资料添加与查询部分的设计思想

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

②、采用了结构化程序设计思想,在主函数外定义了void kehu();(客户文件操作)、void cunq1();(存取款办理)、void cunq2();(存取款查询)、void help();(使用帮助)以及他们的嵌套函数,使产品功能更加健全。

③、对于如何使每次次级操作后能方便的返回主界面,我们在主函数里用到了while(1)这样函数,再在里面用到几个break;就实现了返回主界面的功能。

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

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

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

实验总结报告

九:测试方案

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

方案②、如果是对源代码进行操作,可以双击名为“银行存取款及客户资料管理系统.c”的.c文件,进入C++运行环境,按“重新组建”,然后点击运行按钮“!”,运行成功,便可进入主界面,相关操作见上。而这同时C++又在后台生成了.exe文件,这就是我们所需要的应用程序。

十:调试中问题及解决方案

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

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

相关文档
最新文档