C语言银行管理系统设计_第1页
C语言银行管理系统设计_第2页
C语言银行管理系统设计_第3页
C语言银行管理系统设计_第4页
C语言银行管理系统设计_第5页
已阅读5页,还剩7页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计基础(C语言) 课程设计说明书 (2020学年第_1_学期) 题目名称:银行存取款管理系统 姓名 学号 专业 班级 指导教师 提交日期 湖南应用技术学院课程设计任务书 课程名称 程序设计(C语言)课程设计 课程代码 设计题目 银行存取款管理系统 分组人数 设计时间 学院 专业 班级 一、课程设计任务(条件)、具体技术参数(指标) 1. 我在指导书提供的课程设计题目中选择了 21题,已经得老师认可 2. 我通过编写程序提供的主操作界面应该方便用户的操作。 3. 最后提交的课程设计成果包括: (1).课程设计报告电子稿。 (2).源程序文件。 (3).可执行程序文件。 二、对课程设计成果的

2、要求(包括课程设计说明书、图纸、图表、实物等软硬 件要求) 1. 分析课程设计题目的要求; 2. 写出详细设计说明; 3. 编写程序代码,调试程序使其能正确运行; 4. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面; 5. 设计完成后提交课程设计报告和源代码文件的电子文档。 三、课程设计工作进度计划: 2018/1/2分析选题及解决方案的思考。 2018/1/3确定解题的过程及系统所需的功能函数,进行代码编写。 2018/1/4代码编写并开始写课程设计说明书。 2018/1/5代码编写并调试运行,写课程设计说明书。 2018/1/6完善程序和课程设计说明书、答辩,上交所有课程设。计资

3、料 四、主要参考资料 1 柴田望洋 主编明解C语言M.北京,人民邮电出版社 2015年12 月。 2 克尼汉(美)主编.C程序设计语言M.美,机械工业出版社 2010 年9月 3 凯尼格(美)主编.C陷阱与缺陷M.北京,人民邮电出版社 2008 年2月 指导教师(签名):教研室主任(签名): 年 月日 一、需求分析 1、银行存取款管理系统在于如何使用户更便于去进行存取款等一系列操作,是为了解决 银行在存取款方面的不便之处。 2、通过此系统,能录用用户存款的信息,其中包括用户的编号、姓名、性别、地址、年 龄及账户总金额。 3、能够输入客户存款或取款记录。 4、能根据客户姓名查询存款和取款记录。

4、二、总体设计 1、总体思路:本系统分为七个主功能模块 (1)录入客户存取款信息模块; (2)修改客户存取款信息模块; (3)排序客户存取款信息模块 (4)删除客户存取款信息模块; (5)查找客户存取款信息模块; (6)显示客户存取款信息模块; (7)系统退出模块。 通过对七个功能模块的设计和操作,使银行拥有一系列的存取款系统用户根据系统的提示进行七个功能模块的操作就能十分便捷的完成自己 要进行银行存取款项目。 2、设计思想:银行存取款管理系统在于方便银行的存取款项目,因此对其 设计有六个主功能模块:录入、修改、排序、查找、删除、显示和退出。 使用相应的 c语言函数去实现这个模块的设计,最后通过

5、这七个功能 模块来完成存取款的一系列实现。 3、设计功能结构图 4、问题和方 (1) 程入编 网查资料 找 、识的程序, 客 仔细地检 号、参数或标点符号。 懂不认 程客错误较多,无法: 方法:耐心的纠错, 容易粗心打错函数符 方法:吸取教训,编程时更加细心。 、详细设计 (2) (3) 除 并向老师和 客 会的同学请教 1、重要数据的数据结构设计 客户存取款信息的记录项用s tudent表示,包括6个属性: numl, name,addr,sex,age, nu m2,其分别是编号,客户姓名,客户地址,性别,年龄, 账户总金额。 2、函数设计 银行存取款管理系统程序采用了结构化程序设计的思想

6、,由 4个h头文件和3个c源 文件组成。程序中除了主函数外,共设计了以下七个函数,分别包含在 3个c源文件中。 以下是这些函数的函数原型及功能设计。 (1) void in put in g(stude nt *p); 函数功能:输入函数中的输数据部分并保存的函数 (2) void input(student *p,int i); 函数功能:输入函数。输入客户的基本信息。 (3) void insert(student *p,int i ); 函数功能:插入函数。插入要输入的客户信息。 (4) void output(student *p,int i); 函数功能:输出函数。将需要的客户信息以

7、列表的形式显示在屏幕上。 (5) void sort(student *p,int n); 函数功能:排序函数。按要将客户存取款信息以账号大小的顺序排列出来。 (6) void find(student *p,int n); 函数功能:查找函数。按要求通过输入客户姓名的方式查询客户存取款信息 (7) int del(student *p,int n); 函数功能:删除函数。通过输入要删除的客户姓名,查询后删除该客户存取款信息 3、函数关系调用图 outpu 四、程序运行结果测试与分析 prin 1、调试分析 本系统在VC6下编译调试通过,可顺利运行,各项功能达到设计要求。 本系统程序由4个h头

8、文件和3个c源文件构成。系统调试主要在 VC+6.0下进 行,采用分模块调试的方法进行编译,即完成一个函数功能模块就编译一个功能模块, 最后再进行整体编译并生成可执行文件Stude nt.exe. 在调试的过程,主要碰到了以下问题: 1、清屏函数在TC中使用的clrsrc函数,但在VC6中没有该函数也没有相应的 函数。查资料,发现在 VC中可使用system ()函数调用系统命令cls实现。 2、 在使用C语言系统函数进行数据输入的时候,发现使用getchar()和gets() 函数输入字符和字符串的时候,系统经常跳过相应的输入语句,无法输入数据。查资 料,是C系统的输入处理的输入缓存问题,解

9、决方法是在进行字符和字符串输入的时 候,先使用fflush(stdin)函数清除输入缓存,即可正常输入字符和字符串。 2、运行结果 输入1得到图1 输入2,得到图2 图2 输入3,得到图3 图5 输入7,得到图6 五、结论与心得 1本次是我们第一次接触到课程设计这一课题,在做这个课题的过程中我们遇到了许多 的困难:比如对结构体函数的运用,七个功能函数的操作,参数的定义等等。虽然遇到了 如此多的困难,但是在解决困难的途中我们没有放弃,最终我们解决了程序上的问题,也 丰富了自己的知识。 2、 通过本次的C语言程序设计,我发现自己在 C语言方面还存在有较大的漏洞,对于各 种函数的认知还不够清晰,无论

10、是在函数的调用方面还是在函数的嵌套或定义方面,都还 有所欠缺。其次,对于C语言,细心是非常重要的。一个括号,一个分号,乃至一个逗号 在C语言的程序中都是十分重要的,无论少了哪一个程序都无法运行。因此,在进行C语 言程序的编程时要十分细心。 3、 对于此次的题目银行存取款管理系统,我们觉得其实可以更加的简便,更加的智能化。 或许可以将其与银行的其他管理系统进行智能整合,让用户在进行存取款业务时有更多的 选项,并且也可以增加银行的业务。当然这些还只是我们的设想,但我们相信随着我们对 专业的学习和知识技能的不断增长,我们总会学得如何去建立一个更好的管理系统。 六、附:源码 #i nclude #i

11、nclude #i ncludevstri ng.h #i ncludevwi ndows.h /自定义结构体程序 struct stude nt 客户账号,姓名,性别 客户住址 存取款数目 char acad10, name20,sex; int age;/客户年龄 char addr30; long int num;/ 声明输入函数中的输数部分并保存函数 声明输入函数 声明插入函数 声明输出函数 声明排序函数 声明查找函数 声明删除函数 ; void in put in g(stude nt *p);/ void in put(stude nt *p,i nt i);/ void in s

12、ert(stude nt *p,i nt i);/ void output(stude nt *p,i nt i);/ void sort(stude nt *p,i nt n);/ void find(student *p,int n);/ int del (stude nt *p,i nt n);/ void main() system(color 34); student *q=NULL;/ 自定义类型指针 int i=0,j,k,b=0; do printf(tt|n); printf(tt| 银行存取款管理系统 |n); printf(tt|1.输入客户信息2.添加客户信息|n);

13、printf(tt|3.排序客户信息 4. 查找客户信息 |n); printf(tt|5.删除客户信息6.显示客户信息|n); printf(tt|7.退出系统|n); printf(tttt 请选择菜单 :); scanf(%d, switch(j) case 1: b+; if(b!=1) printf( 你已经输入过一次了, 不能再选择, 加入可以选择 n); break; else printf( 请输入要输入的客户数量 :); scanf(%d, while(bacad); printf( 请输入客户姓名 :); scanf(%s,p-name); printf( 请输入客户住址

14、:); scanf(%s, do printf(请输入客户性别:); fflush(stdin); scanf(%c, if(p-sex!=b while(p-sex!=b do printf( 输入客户年龄 :); scanf(%d, if(p-ageage100) printf( 输入错误,重新 ); while(p-ageage100); do printf( 输入客户存款数目 :); scanf(%1d, if(p-numnum1000000) printf( 输入错误,重新 ); while(p-num1000000); / 输入函数 void input(student *p,in

15、t i) int x; for(x=0;xi;x+,p+) printf(请输入第 inputing(p);/ 调用输入函数中的输数据部分并保存函数 printf(n); void insert(student *p,int i) int x; for(x=0;xi;x+,p+) printf(请输入第 inputing(p);/ 调用输入函数中的输数据部分并保存函数 printf(n); / 输出函数 void outpt(student *p,int i) printf( 账号t姓名t性别t年龄t住址t存取款数目); int x=0; for(x=0;xacad,p-name,p-sex,

16、p-age,p-addr,p -num); printf(n); / 插入函数 void output(student *p,int i) p=p+i; printf( 请输入要插入的存取款信息 :n); inputing(p);/ 调用输入函数中的输数据并保存函数 printf(n); / 排序函数 void sort(student *p,int n) student t; int i,j; printf( 要求按账号从小到大排序 :n); for(i=0;in-1;i+) for(j=0;jacad,(p+j+1)-acad)=1) t=*(p+j); *(p+j)=*(p+j+1);

17、*(p+j+1)=t; output(p,n); / 查找函数 void find(student *p,int n) student t; int i=0; printf( 要求按客户姓名查找 :); printf( 请输入要查找的姓名 :); scanf(%s,); for(i=0;iname)=0) break; if(i=n) printf(查找的姓名是d的客户,没有找到!n,); else printf (查找的姓名是%d的客户,是所输入的客户中的%d个客户 n,,i+1); printf(账号t姓名t性别t年龄t住址t存取款数目); printf

18、(%st%st%ct%dt%ldn,p-acad,p-name,p-sex,p-age,p-addr,p-nu m); / 删除函数 int del(student *p,int n) student t; int i=0,j; char ch; printf( 要求按客户姓名删除 :); printf( 输入要删除的客户姓名 :); scanf(%s,); for(i=0;iname)=0) break; if(i=n) printf( 删除的姓名是d的客户,没有找到n,); return 0; else printf(删除的姓名是%s的客户,是所 输入的客户中的%d个客户 n,,i+1); printf( 要删除的客户存取款信息 :n); printf( 账号t姓名t性别t年龄

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论