上海应用技术学院银行信贷系统课程设计报告(共23页).doc

上传人:飞****2 文档编号:13857370 上传时间:2022-05-01 格式:DOC 页数:23 大小:224KB
返回 下载 相关 举报
上海应用技术学院银行信贷系统课程设计报告(共23页).doc_第1页
第1页 / 共23页
上海应用技术学院银行信贷系统课程设计报告(共23页).doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《上海应用技术学院银行信贷系统课程设计报告(共23页).doc》由会员分享,可在线阅读,更多相关《上海应用技术学院银行信贷系统课程设计报告(共23页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上上海应用技术学院课程设计2013 2014学年第二学期设计题目 银行信贷管理系统 院(系) 计算机科学与信息工程学院 专 业 班 级 学号 学生姓名 设计时间 指导教师 提交日期 上海应用技术学院课程设计任务书课程名称程序设计语言课程设计课程代码B设计题目银行信贷管理系统题目序号6设计时间学院计算机科学与信息工程专业班级一、 课程设计任务(条件)、具体技术参数(指标)1. 在指导书提供的课程设计题目中选择一题或自选(但需经过指导教师认可)2. 每个题目限一人完成,题目选定后不可更换。3. 用户提供的主操作界面应该方便用户的操作。4. 最后提交的课程设计成果包括:a)课

2、程设计报告电子稿。c)源程序文件。d)可执行程序文件。二、 对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)1. 分析课程设计题目的要求;2. 写出详细设计说明;3. 编写程序代码,调试程序使其能正确运行;4. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面;5. 设计完成后提交课程设计报告和源代码文件的电子文档。三、 课程设计工作进度计划:第一天 选择课程设计题目,分析课题的要求,确定设计方案;第二天 按功能模块编写详细设计说明;第三天 绘制程序流程图;第四七天 编写与调试程序;第八天 写课程设计报告; 第九天 提交课程设计报告; 第十天 面试或答辩。四、 主

3、要参考资料 1谭浩强C程序设计(第四版)北京:清华大学出版社,2010 2谭浩强C程序设计题解与上机指导(第四版)北京:清华大学出版社,20103 Herbert SchildtC语言大全(第四版)北京:电子工业出版社, 20044Samuel P.Harbison ,Guy L.SteeleC语言参考手册(第5版)北京:机械工业出版社,20035程序设计语言课程设计指导书指导教师(签名): 教研室主任(签名): 2014年 6 月30日 2014年6月30日 目录设计目的题目六 银行信贷管理系统1. 设计要求: 基本功能: a) 申请贷款 b) 还贷 c) 查询贷款记录 d) 查询还贷记录

4、拓展功能: 采用文件形式对贷款和还款记录进行操作,包括: c) 写入文件 d) 读取文件 创新(自拟)功能: 程序实现的其它功能由个人自拟。2. 设计要求具体说明 基本功能: 􀁺 贷款记录中包含以下数据: 贷款编号、贷款人身份证号码、贷款人姓名、贷款金额、贷款年限 􀁺 还贷记录中包含以下数据: 还款编号、还款人身份证号码、还款人姓名、还款金额、所还贷款编号 􀁺 申请贷款 要求输入贷款编号、贷款人身份证号码、贷款人姓名、贷款金额、贷款年限。 􀁺 还贷 要求输入一个贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编

5、号错误),还款编号、还款人身份证号码、还款人姓名、还款金额、所还贷款编号. 要求还款编号不能重复。􀁺 查询贷款记录 要求输入贷款人身份证号码,先查询是否存在贷款,如果存在显示该贷款人的所有贷款记录,如果不存在显示无记录。􀁺 查询还贷记录 要求输入一个贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编号错误),查看对该贷款的所有还贷信息。拓展功能 要求对上述输入的贷款和还贷记录进行文件保存,下次进入系统时从文件读出数据。 3. 提示 定义合适的结构体类型,使用链表或数组的方式组织数据。 2 功能描述2.1模块功能一基本功能:贷款记录中包含以下数据:

6、贷款编号、贷款人身份证号码、贷款人姓名、贷款金额、贷款年限还贷记录中包含以下数据:还款编号、还款人身份证号码、还款人姓名、还款金额、所还贷款编号 申请贷款要求输入贷款编号、贷款人身份证号码、贷款人姓名、贷款金额、贷款年限。还贷要求输入一个贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编号错误),还款编号、还款人身份证号码、还款人姓名、还款金额、所还贷款编号. 要求还款编号不能重复。查询贷款记录要求输入贷款人身份证号码,先查询是否存在贷款,如果存在显示该贷款人的所有贷款记录,如果不存在显示无记录。查询还贷记录要求输入一个贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编

7、号错误),查看对该贷款的所有还贷信息。二拓展功能要求对上述输入的贷款和还贷记录进行文件保存,下次进入系统时从文件读出数据。2.2流程图 开始提示输入贷款信息检查申请是否合法放入结构体数组中YN结束图1 添加(贷款客户信息)开始提示输入贷款编号检查是否存在贷款编号输入还款编号和还款信息检查信息的合法性输入还款金额检查金额额度是否合理还款成功放入结构体数组中结束YNYNYN 图2 添加(还贷信息)开始提示检查是否存在结束YN输出 无记录结束输入贷款编号调出贷款用户信息输出贷款用户信息 图3 查询(贷款基本信息)开始提示检查是否存在结束YN输出 编号错误结束输入还款编号调出还款用户信息输出还款用户信

8、息图4 查询(还贷信息)3 总体设计 3.1 功能模块设计 3.1.1 添加功能设计:添加分为两部分添加贷款用户基本信息和添加还贷用户基本信息。添加贷款基本信息中要求输入贷款编号、贷款人身份证号码、贷款人姓名、贷款金额、贷款年限。添加还贷用户基本信息要求输入一个贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编号错误),还款编号、还款人身份证号码、还款人姓名、还款金额、所还贷款编号. 要求还款编号不能重复。其中用结构体来建立输入的用户信息的形式。两个结构体间用静态链表连接,使其联系起来。3.1.2 查询功能设计:查询贷款信息可以用输入贷款人身份证号码来进行,先查询是否存在贷款,如果

9、存在显示该贷款人的所有贷款记录,如果不存在显示无记录。查询还贷记录通过输入贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编号错误)进行,查看对该贷款的所有还贷信息。 3.2 数据结构设计 先建立两个结构体studen1,student2。再设立全局变量,建立循环以验证输入的合法性,全局变量累加,全局变量累减。 3.3 函数功能描述 3.3.1 #include 在使用标准函数库中的输入输出函数时,编译系统要求程序提供有关的信息(例如对这些输入输出函数的声明),#include的作用就是用来提供这些信息的,stdio.h是C编译系统提供的一个文件名,stdio是“standard

10、input & output”的缩写,即有关标准输入输出的信息。 在程序中用到系统提供的标准函数库中的输入输出函数时,应在程序的开头写上一行:#includestdio.h或者是#include,这样才能调用库函数3.3.2 #include。#include 是在调用字符函数时,在源文件中包含的头文件。字符函数如:int isspace(int ch);检查ch是否为空格制表或换行字符。“ctype”中c为字符型char的缩写,type 为类型。 3.3.3#includestring.h是个头文件,里面写的是关于字符串操作的一些基本函数。当程序中涉及对字符串的操作时,会用到这个头文件里面的

11、函数。所以要把它include(包含)进来。3.3.4 #includestdlib.h里面定义了五种类型、一些宏和通用工具函数。类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t;宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等;常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。具体的内容可以打开编译器的include目录里面的stdlib.h头文件看看。4 程序实现 4.1 源码分析#i

12、nclude #include #include FILE *fp1=fopen(dk.txt,a+); FILE *fp2=fopen(hk.txt,a+); char m_id10=admin;char m_pass10=;int d_num=0,h_num=0;struct Dkint num;char id20;char name20;int money;float re_money;int year;struct Dk *next;struct Dk *last;*d_p1,*d_p2,*d_head,*d_end;struct Hkint num;char id20;char na

13、me20;int money;float re_money;int d_num;struct Hk *next;struct Hk *last;*h_p1,*h_p2,*h_head,*h_end;int yhyz();void menu(int x);void cx(int n);void dk_cx();void hk_cx();void quit();void select1(int n);void select2(int n);void dk();void hk();void w_f();void r_f();int main()printf(欢迎来到银行信贷管理系统!n);getch

14、ar();system(cls);if(d_head=NULL)d_p1=(struct Dk*)malloc(sizeof(struct Dk);d_head=d_p1;d_end=d_p1;if(h_head=NULL)h_p1=(struct Hk*)malloc(sizeof(struct Hk);h_head=h_p1;h_end=h_p1;r_f();while(1)menu(0);int yhyz()char id10,pass10;printf(用户名:); scanf(%s,id);if(strcmp(id,admin)=0)printf(密码:); scanf(%s,pas

15、s);if(strcmp(pass,)=0)return 1;elseprintf(密码错误n); return 0;elseprintf(用户名错误n); return 0;void menu(int x)int n;if(x=0)printf(n1.管理员登陆n); printf(2.申请贷款n); printf(3.偿还贷款n); printf(4.贷款查询n); printf(5.还款查询n); printf(0.退出系统n); printf(请输入功能序号n); fflush(stdin);scanf(%d,&n);select1(n);elseprintf(1.导入文件n); pr

16、intf(2.导出文件n); printf(3.显示贷款n);printf(4.显示还款n);printf(0.退出管理n); fflush(stdin);printf(请输入功能序号n); scanf(%d,&n);select2(n); void select1(int n)switch(n)case 1: menu(yhyz();break;case 2: dk();break;case 3: hk();break;case 4: dk_cx();break;case 5: hk_cx();break;case 0: quit();break;default :printf(输入错误n)

17、;break; menu(0);void select2(int n)switch(n)case 1: w_f();menu(1);break;case 2: r_f();menu(1);break;case 3: cx(1);menu(1);break;case 4: cx(0);menu(1);break;case 0: menu(0);break;default :printf(输入错误);menu(yhyz();break; void cx(int n)if(n=1)printf(编号t姓名t身份证t金额t年限t欠款tn); for(d_p2=d_head-next;d_p2!=d_e

18、nd;d_p2=d_p2-next) printf(%dt,d_p2-num); printf(%st,d_p2-name); printf(%st,d_p2-id); printf(%dt,d_p2-money); printf(%dt,d_p2-year); printf(%.ftn,d_p2-re_money); elseprintf(编号t姓名t身份证t金额t贷款编号tn);for(h_p2=h_head-next;h_p2!=h_end;h_p2=h_p2-next)printf(%dt,h_p2-num);printf(%st,h_p2-name); printf(%st,h_p2

19、-id); printf(%dt,h_p2-money); printf(%dtn,h_p2-d_num);getchar();system(cls);void dk_cx()char t20;int i=1;printf(请输入贷款人身份证号码n);scanf(%s,t);for(d_p2=d_head;d_p2!=NULL;d_p2=d_p2-next)if(strcmp(t,d_p2-id)=0)break;if(d_p2=NULL) printf(该身份证号码不存在n);elseprintf(编号t姓名t身份证t金额t年限t欠款tn); for(d_p2=d_head;d_p2!=NU

20、LL;d_p2=d_p2-next)if(strcmp(t,d_p2-id)=0)printf(%dt,d_p2-num);printf(%st,d_p2-name); printf(%st,d_p2-id); printf(%dt,d_p2-money); printf(%dt,d_p2-year); printf(%.ftn,d_p2-re_money);getchar(); system(cls);void hk_cx()int t;char y; printf(请输入贷款编号n); fflush(stdin);scanf(%d,&t);if(td_num|tnext)if(t=h_p2

21、-d_num) printf(%dt,h_p2-num);printf(%st,h_p2-name); printf(%st,h_p2-id); printf(%dt,h_p2-money); printf(%dtn,h_p2-d_num);getchar(); system(cls); void quit()exit(0);void dk()d_p2=d_end;printf(请输入贷款人姓名n); scanf(%s,d_p2-name);printf(请输入贷款人身份证号码n); scanf(%s,d_p2-id);printf(请输入贷款金额n); fflush(stdin);scanf

22、(%d,&d_p2-money);printf(请输入贷款年限(1-10)n); fflush(stdin);scanf(%d,&d_p2-year);if(d_p2-yearyear10)printf(输入错误,请重新输入贷款年限(1-10)n); dk();elsed_num+;d_p2-num=d_num;switch(d_p2-year) case 1: d_p2-re_money=1.2*(d_p2-money);break;case 2: d_p2-re_money=1.2*(d_p2-money);break;case 3: d_p2-re_money=1.2*(d_p2-mon

23、ey);break;case 4: d_p2-re_money=1.5*(d_p2-money);break; case 5: d_p2-re_money=1.5*(d_p2-money);break; default: d_p2-re_money=1.5*(d_p2-money);break; d_p1=(struct Dk*)malloc(sizeof(struct Dk);d_p1-last=d_p2;d_p2-next=d_p1;d_p2=d_p1;d_end=d_p2;void hk()int t;printf(请输入贷款编号n); fflush(stdin);scanf(%d,&t

24、);if(td_num|tnum=h_num;h_p2-d_num=t;for(d_p2=d_head;d_p2!=NULL;d_p2=d_p2-next)if(d_p2-num=h_p2-d_num) break;printf(请输入还款人姓名n); scanf(%s,h_p2-name);printf(请输入还款人身份证号码n); scanf(%s,h_p2-id);printf(请输入还款金额n); fflush(stdin);scanf(%d,&h_p2-money);while(h_p2-moneyd_p2-re_money)fflush(stdin);printf(超出范围,请重新

25、输入还款金额n); scanf(%d,&h_p2-money);d_p2-re_money=d_p2-re_money-h_p2-money;h_p1=(struct Hk*)malloc(sizeof(struct Hk);h_p1-last=h_p2;h_p2-next=h_p1;h_p2=h_p1;h_end=h_p2;void w_f()for(d_p2=d_head;d_p2-next!=NULL;d_p2=d_p2-next)fwrite(d_p2,sizeof(Dk),1,fp1);for(h_p2=h_head;h_p2-next!=NULL;h_p2=h_p2-next)fw

26、rite(h_p2,sizeof(Hk),1,fp2);printf(导入成功); getchar();system(cls);void r_f()for(d_p2=d_head;!feof(fp1);d_p2=d_p2-next)fread(d_p2,sizeof(Dk),1,fp1);if(d_p2-money=0&d_p2!=d_head)break;d_num+;d_p1=(struct Dk*)malloc(sizeof(struct Dk);d_p1-last=d_p2; d_p2-next=d_p1;d_num-;d_end=d_p2;for(h_p2=h_head;!feof(

27、fp2);h_p2=h_p2-next)fread(h_p2,sizeof(Hk),1,fp2);if(h_p2-money=0&h_p2!=h_head)break;h_num+;h_p1=(struct Hk*)malloc(sizeof(struct Hk);h_p1-last=h_p2; h_p2-next=h_p1;h_num-;h_end=h_p2;printf(读取成功); 4.2 运行结果 在函数开始时,选择是否读取文件来开始运行程序。图1 初始页面1 输入y以后,进入程序主页面。图2 主界面2、运行程序首先运行申请贷款程序图3输入贷款用户信息3、运行偿还贷款程序图4 还贷图5查询还款用户信息图6 查询贷款用户信息图7 输入编号错误时5课程设计总结两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。通过此次课程设计,使我更加扎实的掌握了有关C语言方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁