2022年C语言课程设计报告 5.pdf





《2022年C语言课程设计报告 5.pdf》由会员分享,可在线阅读,更多相关《2022年C语言课程设计报告 5.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 C 语言课程设计银行存取款管理设计学院名称:安徽工业大学工商学院专业班级:软 1141 姓名:刘伟伟(组长)学号:111842307 指导教师:陆勤组号:3 组员:贾玉强李坤李志陆春杰2012年 06 月 12 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 2 预习报告一:设计题目银行存取款管理设计二:功能要求能够添加和修改以及删除客户文件。 (在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、
2、客户电话、账户总金额)。能够输入和查询客户存款取款记录。 (在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种) 。能够给程序提供运行提示。三:设计要求、用 C 语言实现系统;、函数功能要划分好(结构化程序设计);、界面友好(良好的人机交互) ,加必要的注释;、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。四:设计目的、通过这次课程设计,使我们更加深入地理解和掌握C 语言基本概念,切身体会用结构化程序设计的工程思想,感受C 语言的魅力。、通过这次课程设计,培养我们独立思考、勇于探索、积极创
3、新、严谨求实、有过必改的工作态度以及较熟的上级操作能力,同时加强我们团结友爱,协作攻关的团队合作意识。五:设计框架图功能选择客 户 资料 添 加与操作添加查询修改删除存 款办理取 款办理存 取 款办理存 取 款查询取款查询存款查询关于名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 3 六:函数与变量说明自定义函数void main():在里面写了“功能选择”的SWITCH 函数;void kehu();客户资料添加与操作主菜单
4、;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(st
5、ruct 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 cun
6、q222(struct cou *p,char *re,long *h); 打印取款资料;void help(); 使用说明模块。变量全局的结构体型数组w(用来存放 200 多个结构体变量 ): extern struct cou long b; char x20; long m; char a50; long d; float j; long bc; char jin20; char jin220; char t20; float j1; float j2; float j3; float j4; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
7、- - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - 4 w200; 局部变量 int m; 用来在主和其他函数中进行SWITCH 选择判断;全局变量 long t; 用于记录客户卡号,而卡号是在整个程序中都要用到的,因为是全局变量,所以一个客户的卡号不能变更。char r20,b20,c20;都为记录客户姓名的一维数组,用在生成客户以及存取款文件和读取客户文件以及存取款文件;七:函数调用流程图(客户资料添加与查询部分)是1 2 注:上叙具体函数功能见六(一)函数说明void main()m=1? while(1) scan
8、f(%d,&m);kehu(); scanf(%s,r); scanf(%ld,&h); kehu2(w,r,h); break;其他函数m=? scanf(%s,b); kehu1(w,b,&t); kehup(w,b,&t); break; scanf(%d,&m);switch(m) ;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 5 八:客户资料添加与查询部分的设计思想、由于是银行存取款管理设计,考虑到要有较周全的功
9、能要求,所以在设计之初就对最终成品的功能进行了较为详细的布局,最终确定了 4 个主功能(见源代码) 。、采用了结构化程序设计思想,在主函数外定义了void kehu(); (客户文件操作) 、void cunq1();(存取款办理)、void cunq2();(存取款查询)、void help(); (使用帮助)以及他们的嵌套函数,使产品功能更加健全。、对于如何使每次次级操作后能方便的返回主界面,我们在主函数里用到了while(1) 这样函数,再在里面用到几个break ;就实现了返回主界面的功能。、对于客户及存取款记录的保存我们在这里用到了用FILE 类型定义文件指针,从而来以文件形式存放数
10、据,而又用到fopen 函数打开文件,用fclose关闭文件,释放文件缓冲区;又用到fwrite函数使数据写入到磁盘保存,用fread 函数把数据拉到缓冲区。、对于如何使客户文件和客户存取款记录很灵活的结合到一起,我们在主函数前面构造了一个具有多个成员的结构体,从客户文件记录的客户地址、 客户电话、当前金额等到客户存取款记录的办理时间、办理人、存取金额等全部囊括在同一个名为 cou 结构体类型中。、程序在主函数之前定义了全局的结构体型数组w,为相关文件提供了较为灵活的存取空间,而程序中在fwrite函数之前输入了客户姓名和卡号,这实际上就创建了一个名为所输入客户姓名的文件,从而在资料读取时直接
11、用姓名读取非常方便。实验总结报告九:测试方案方案、可以直接打开所给的名为“银行存取款及客户资料管理系统.exe ”应用程序进行操作,而操作是纯键盘式的,建议先添加客户文件,或者先查看“关于”中的帮助。方案、如果是对源代码进行操作,可以双击名为“银行存取款及客户资料管理系统 .c”的.c 文件,进入 C+运行环境,按“重新组建” ,然后点击运行按钮“! ” ,运行成功,便可进入主界面,相关操作见上。而这同时C+又在后台生成了 .exe 文件,这就是我们所需要的应用程序。十:调试中问题及解决方案调试过程并不是一帆风顺的,比如、如何对客户各种详细资料进行表示,之前我们并没有想到用结构体,然后再写程序
12、过程中遇到诸多困难,一段时间之后, 组员进行仔细研究, 并查阅相关书籍,最终确定了用结构体这样便捷的数据类型,而这一决定也为后续工作指明了方向;、对客户资料的打印,因为没有注意到要把文件资料从文件读取到缓冲区,因而始终不能正确的打印出所要的数据,而最终在组员的一致努力下, 察觉到名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - 6 问题,然后 fread 函数被用到,这问题迎刃而解;、在程序编写过程中,由于时间关系,难免还有些问
13、题尚未解决,我们不怕暴露问题,我们只求进步。 比如说在写入客户卡号时, 用到 fwrite(&h,4,1,fp);这样的函数语句,虽然 h 已经被我们定义为 long 型变量, 然为什么上限为245至今尚未得到很好的解决。 但这并不影响我们程序的运行, 只要稍微注意一下卡号,程序还是很理想的。十一:心得与体会这次的 C 语言课程设计我们付出不少,一次一次的编写,一次次的修改,花了不少时间,甚至有时也用上了休息时间。 但我们的收获是那些付出比量不了的。在一次次的调试与失败中,我们更加坚强,更加专注。在团队合作过程中也发生过小小的矛盾,但这些终被我们克服,从而转化为难得的友谊,而又使我们对团队这个
14、概念的认识又上升到一个新的高度。其实一切的一切,都没有知识来的重要,在这次课程设计过程中我们查阅了大量的资料,而有些是书本上都较少提到的,而这些给我们的便是知识,无形的宝贵财富。最后,老师提供给我们这次难得的课程实习机会,我们是受益匪浅的,当看到一个完整的应用程序出现在我们面前,作为一个初涉软件的学徒来说,又何尝不是感慨万千呢?我们深怀感恩,一路前行,软件工程,我们来了!十二:附源程序清单#include #include void kehu(); void kehu1(struct cou p,char *re,long *h); /* (把顾客资料)从文件读到缓冲区 */ void keh
15、u2(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(st
16、ruct 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()
17、; long t; extern struct cou 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 7 long b; char x20; long m; char a50; long d; float j; long bc; char jin20; char jin220; char t20; float j1; float j2; float j3; float j4; ; struct cou w200; void
18、main() int m; while(1) system(cls); printf(n银行存取款管理系统n); printf(【功能选择】n); printf( 一:客户添加与操作二:存取款办理三:存取款查询四:关于 n); printf(nn); printf(-请按相应的数字选择您的需要-n); scanf(%d,&m); switch(m) case 1:kehu();break; case 2:cunq1();break; case 3:cunq2();break; case 4:help();break; getchar(); printf(nnnnn 按回车键返回主界面.); g
19、etchar(); void kehu() int m; char r20,b20,c20; long h,k; system(cls); printf(n); printf(n 客户文件: 1:客户资料查询); printf(n 2:客户资料添加); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 8 printf(n 3:客户资料修改); printf(n 4:客户资料删除); printf(n 5:后退 nn); pri
20、ntf(n); printf(-按相应的数字以选择您的需要-n); scanf(%d,&m); switch(m) case 1: printf( n); printf( 1:客户资料查询n); printf( n); printf( 请输入您要查询的客户的姓名:n); scanf(%s,b); kehu1(w,b,&t); /* 从文件读到缓冲区*/ kehup(w,b,&t); /* 打印 */ break; case 2: printf( n); printf( 2:客户资料添加n); printf( n); printf(请输入新客户的姓名和卡号(1-245):n); printf(请
21、输入姓名:n); scanf(%s,r); printf(请输入卡号:n); scanf(%ld,&h); kehu2(w,r,h); /* 把数据从缓冲区输入到文件*/ break; case 3: printf( n); printf( 3:客户资料修改n); printf( n); printf(n请输入您要修改的客户的姓名和卡号:n); printf(请输入姓名:n); scanf(%s,c); printf(请输入卡号:n); scanf(%ld,&k); kehu3(w,c,k); /* 把 新数据从缓冲区输入到文件*/ break; case 4: printf( n); pri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言课程设计报告 2022 语言 课程设计 报告

限制150内