




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 <stdio.h>在使用标准函数库中的输入输出函数时,编译系统要求程序提供有关的信息(例如对这些输入输出函数的声明),#include<>的作用就是用来提供这些信息的,stdio.h是C
10、编译系统提供的一个文件名,stdio是“standard input & output”的缩写,即有关标准输入输出的信息。 在程序中用到系统提供的标准函数库中的输入输出函数时,应在程序的开头写上一行:#include"stdio.h"或者是#include<stdio.h>,这样才能调用库函数3.3.2 #include<ctype.h>。#include<ctype.h> 是在调用字符函数时,在源文件中包含的头文件。字符函数如:int isspace(int ch);检查ch是否为空格制表或换行字符。“ctype”中c为字符型c
11、har的缩写,type 为类型。 3.3.3#include<string.h>string.h是个头文件,里面写的是关于字符串操作的一些基本函数。当程序中涉及对字符串的操作时,会用到这个头文件里面的函数。所以要把它include(包含)进来。3.3.4 #include<stdlib.h>stdlib.h里面定义了五种类型、一些宏和通用工具函数。类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t;宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等;常用的函数如malloc()、calloc(
12、)、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。具体的内容可以打开编译器的include目录里面的stdlib.h头文件看看。4 程序实现 4.1 源码分析#include <stdio.h>#include <stdlib.h>#include <string.h>FILE *fp1=fopen("dk.txt","a+"); FILE *fp2=fopen("hk.txt","a+"); ch
13、ar 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 name20;int money;float re_money;int d_num;struct Hk *next;struc
14、t 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");getchar();system("cls");if(d_head=NULL)d_p1=
15、(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("密码:"); s
16、canf("%s",pass);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
17、("5.还款查询n"); printf("0.退出系统n"); printf("请输入功能序号n"); fflush(stdin);scanf("%d",&n);select1(n);elseprintf("1.导入文件n"); printf("2.导出文件n"); printf("3.显示贷款n");printf("4.显示还款n");printf("0.退出管理n"); fflush(stdin);pri
18、ntf("请输入功能序号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");break; menu(0);void select2(int n)switch
19、(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_end;d_p2=d_p2-
20、>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
21、=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->id); printf("%dt",h_p2->money); printf("%dtn",h_p2->d_num);getchar();system("cls");void dk_cx()char t20;int
22、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!=NULL;d_p2=d_p2->next)if(strcmp(t,d_p2->id
23、)=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;
24、 printf("请输入贷款编号n"); fflush(stdin);scanf("%d",&t);if(t>d_num|t<=0)printf("输入错误,请重新输入贷款编号n"); hk_cx();elseprintf("编号t姓名t身份证t金额t贷款编号tn");for(h_p2=h_head;h_p2!=NULL;h_p2=h_p2->next)if(t=h_p2->d_num) printf("%dt",h_p2->num);printf(&quo
25、t;%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("
26、请输入贷款人身份证号码n"); scanf("%s",d_p2->id);printf("请输入贷款金额n"); fflush(stdin);scanf("%d",&d_p2->money);printf("请输入贷款年限(1-10)n"); fflush(stdin);scanf("%d",&d_p2->year);if(d_p2->year<=0|d_p2->year>10)printf("输入错误,请重新输入贷款
27、年限(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->money);break;case 4: d_p2->re_money=1.5*(d_p2->money);break; case 5: d_p2
28、->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);if(t>d_num|
29、t<=0)printf("输入错误,请重新输入贷款编号n"); hk();elseh_p2=h_end;h_num+;h_p2->num=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(&
30、quot;%s",h_p2->id);printf("请输入还款金额n"); fflush(stdin);scanf("%d",&h_p2->money);while(h_p2->money>d_p2->re_money)fflush(stdin);printf("超出范围,请重新输入还款金额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,fp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宿州学院《乌克兰语语法与写作》2023-2024学年第二学期期末试卷
- 广州南方学院《军训(含军事理论教育)》2023-2024学年第二学期期末试卷
- 正德职业技术学院《人工智能基础与应用A》2023-2024学年第二学期期末试卷
- 青海交通职业技术学院《写作(二)》2023-2024学年第二学期期末试卷
- 2024-2025学年陕西省安康市高新中学高二上学期12月月考历史试卷
- 周口职业技术学院《EDA技术及应用A》2023-2024学年第二学期期末试卷
- 延边大学《生态毒理学》2023-2024学年第二学期期末试卷
- 天津商务职业学院《物理有机化学选论》2023-2024学年第二学期期末试卷
- 黄河交通学院《药学分子生物学实验》2023-2024学年第二学期期末试卷
- 2025年贵州省安全员A证考试题库
- 《儿童胃食管反流病》课件
- 阅读理解:如何找文章线索 课件
- 工程分包商履约情况与进度关联分析
- 英语倒装句课件(全面详细)
- 培训业务的竞争对手分析与对策
- 产品设计思维 课件 第3-5章 产品设计的问题思维、产品设计的功能思维、产品设计的形式思维
- 餐券模板完整
- 英语48个国际音标课件(单词带声、附有声国际音标图)
- 门机司机室更换施工方案
- 预制装配式钢筋混凝土排水检查井标准图集
- 评估胎儿健康的技术
评论
0/150
提交评论