上海应用技术学院银行信贷系统课程设计报告Word文档下载推荐.docx
- 文档编号:22535495
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:29
- 大小:208.80KB
上海应用技术学院银行信贷系统课程设计报告Word文档下载推荐.docx
《上海应用技术学院银行信贷系统课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《上海应用技术学院银行信贷系统课程设计报告Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。
第三天绘制程序流程图;
第四~七天编写与调试程序;
第八天写课程设计报告;
第九天提交课程设计报告;
第十天面试或答辩。
四、主要参考资料
[1]谭浩强.C程序设计(第四版).北京:
清华大学出版社,2010
[2]谭浩强.C程序设计题解与上机指导(第四版).北京:
清华大学出版社,2010
[3]HerbertSchildt.C语言大全(第四版).北京:
电子工业出版社,2004
[4]SamuelP.HarbisonⅢ,GuyL.Steele.C语言参考手册(第5版).北京:
机械工业出版社,2003
[5]程序设计语言课程设计指导书.
指导教师(签名):
教研室主任(签名):
2014年6月30日2014年6月30日
设计目的
题目六银行信贷管理系统
1.设计要求:
基本功能:
a)申请贷款
b)还贷
c)查询贷款记录
d)查询还贷记录
拓展功能:
采用文件形式对贷款和还款记录进行操作,包括:
c)写入文件
d)读取文件
创新(自拟)功能:
程序实现的其它功能由个人自拟。
2.设计要求具体说明
贷款记录中包含以下数据:
贷款编号、贷款人身份证号码、贷款人姓名、贷款金额、贷款年限
还贷记录中包含以下数据:
还款编号、还款人身份证号码、还款人姓名、还款金额、所还贷款编号
申请贷款
要求输入贷款编号、贷款人身份证号码、贷款人姓名、贷款金额、贷款年限。
还贷
要求输入一个贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编号错误),还款编号、还款人身份证号码、还款人姓名、还款金额、所还贷款编号.要求还款编号不能重复。
查询贷款记录
要求输入贷款人身份证号码,先查询是否存在贷款,如果存在显示该贷款人的所有贷款记录,如果不存在显示无记录。
查询还贷记录
要求输入一个贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编号错误),查看对该贷款的所有还贷信息。
拓展功能
要求对上述输入的贷款和还贷记录进行文件保存,下次进入系统时从文件读出数据。
3.提示
定义合适的结构体类型,使用链表或数组的方式组织数据。
2功能描述
2.1模块功能
一.基本功能:
贷款记录中包含以下数据:
贷款编号、贷款人身份证号码、贷款人姓名、贷款金额、贷款年限
还贷记录中包含以下数据:
还款编号、还款人身份证号码、还款人姓名、还款金额、所还贷款编号
申请贷款
还贷
要求输入一个贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编号
错误),还款编号、还款人身份证号码、还款人姓名、还款金额、所还贷款编号.要求还
款编号不能重复。
查询贷款记录
要求输入贷款人身份证号码,先查询是否存在贷款,如果存在显示该贷款人的所有贷款
记录,如果不存在显示无记录。
查询还贷记录
错误),查看对该贷款的所有还贷信息。
二.拓展功能
2.2流程图
图1添加(贷款客户信息)
图2添加(还贷信息)
图3查询(贷款基本信息)
图4查询(还贷信息)
3总体设计
3.1功能模块设计
3.1.1添加功能设计:
添加分为两部分添加贷款用户基本信息和添加还贷用户基本信息。
添加贷款基本信息中要求输入贷款编号、贷款人身份证号码、贷款人姓名、贷款金额、贷款年限。
添加还贷用户基本信息要求输入一个贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编号错误),还款编号、还款人身份证号码、还款人姓名、还款金额、所还贷款编号.要求还款编号不能重复。
其中用结构体来建立输入的用户信息的形式。
两个结构体间用静态链表连接,使其联系起来。
3.1.2查询功能设计:
查询贷款信息可以用输入贷款人身份证号码来进行,先查询是否存在贷款,如果存在显示该贷款人的所有贷款记录,如果不存在显示无记录。
查询还贷记录通过输入贷款编号(要求对贷款编号进行检查,如果没有这条贷款,显示输入编号错误)进行,查看对该贷款的所有还贷信息。
3.2数据结构设计
先建立两个结构体studen1,student2。
再设立全局变量,建立循环以验证输入的合法性,全局变量累加,全局变量累减。
3.3函数功能描述
3.3.1#include<
stdio.h>
在使用标准函数库中的输入输出函数时,编译系统要求程序提供有关的信息(例如对这些输入输出函数的声明),#include<
的作用就是用来提供这些信息的,stdio.h是C编译系统提供的一个文件名,stdio是“standardinput&
output”的缩写,即有关标准输入输出的信息。
在程序中用到系统提供的标准函数库中的输入输出函数时,应在程序的开头写上一行:
#include"
stdio.h"
或者是#include<
这样才能调用库函数
3.3.2#include<
ctype.h>
。
#include<
是在调用字符函数时,在源文件中包含的头文件。
字符函数如:
intisspace(intch);
检查ch是否为空格制表或换行字符。
“ctype”中c为字符型char的缩写,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()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。
具体的内容可以打开编译器的include目录里面的stdlib.h头文件看看。
4程序实现
4.1源码分析
#include<
FILE*fp1=fopen("
dk.txt"
"
a+"
);
FILE*fp2=fopen("
hk.txt"
charm_id[10]="
admin"
;
charm_pass[10]="
123456"
intd_num=0,h_num=0;
structDk
{
intnum;
charid[20];
charname[20];
intmoney;
floatre_money;
intyear;
structDk*next;
structDk*last;
}*d_p1,*d_p2,*d_head,*d_end;
structHk
intd_num;
structHk*next;
structHk*last;
}*h_p1,*h_p2,*h_head,*h_end;
intyhyz();
voidmenu(intx);
voidcx(intn);
voiddk_cx();
voidhk_cx();
voidquit();
voidselect1(intn);
voidselect2(intn);
voiddk();
voidhk();
voidw_f();
voidr_f();
intmain()
printf("
欢迎来到银行信贷管理系统!
\n"
getchar();
system("
cls"
if(d_head==NULL)
{
d_p1=(structDk*)malloc(sizeof(structDk));
d_head=d_p1;
d_end=d_p1;
}
if(h_head==NULL)
h_p1=(structHk*)malloc(sizeof(structHk));
h_head=h_p1;
h_end=h_p1;
r_f();
while
(1)
menu(0);
}
intyhyz()
charid[10],pass[10];
用户名:
"
scanf("
%s"
id);
if(strcmp(id,"
)==0)
printf("
密码:
scanf("
pass);
if(strcmp(pass,"
return1;
else
{
printf("
密码错误\n"
return0;
}
else
用户名错误\n"
return0;
}
voidmenu(intx)
intn;
if(x==0)
\n1.管理员登陆\n"
2.申请贷款\n"
3.偿还贷款\n"
4.贷款查询\n"
5.还款查询\n"
0.退出系统\n"
请输入功能序号\n"
fflush(stdin);
%d"
&
n);
select1(n);
1.导入文件\n"
2.导出文件\n"
3.显示贷款\n"
4.显示还款\n"
0.退出管理\n"
select2(n);
}
voidselect1(intn)
switch(n)
case1:
menu(yhyz());
break;
case2:
dk();
case3:
hk();
case4:
dk_cx();
case5:
hk_cx();
case0:
quit();
default:
printf("
输入错误\n"
menu(0);
voidselect2(intn)
w_f();
menu
(1);
cx
(1);
cx(0);
输入错误"
menu(yhyz());
voidcx(intn)
if(n==1)
编号\t姓名\t身份证\t金额\t年限\t欠款\t\n"
for(d_p2=d_head->
next;
d_p2!
=d_end;
d_p2=d_p2->
next)
%d\t"
d_p2->
num);
%s\t"
name);
id);
money);
year);
%.f\t\n"
re_money);
编号\t姓名\t身份证\t金额\t贷款编号\t\n"
for(h_p2=h_head->
h_p2!
=h_end;
h_p2=h_p2->
h_p2->
%d\t\n"
d_num);
voiddk_cx()
chart[20];
inti=1;
请输入贷款人身份证号码\n"
t);
for(d_p2=d_head;
=NULL;
if(strcmp(t,d_p2->
id)==0)break;
if(d_p2==NULL)printf("
该身份证号码不存在\n"
for(d_p2=d_head;
if(strcmp(t,d_p2->
id)==0)
getchar();
system("
voidhk_cx()
intt;
chary;
请输入贷款编号\n"
fflush(stdin);
t);
if(t>
d_num||t<
=0)
输入错误,请重新输入贷款编号\n"
hk_cx();
for(h_p2=h_head;
if(t==h_p2->
d_num)
{
voidquit()
exit(0);
voiddk()
d_p2=d_end;
请输入贷款人姓名\n"
请输入贷款金额\n"
d_p2->
请输入贷款年限(1-10)\n"
if(d_p2->
year<
=0||d_p2->
year>
10)
输入错误,请重新输入贷款年限(1-10)\n"
dk();
d_num++;
d_p2->
num=d_num;
switch(d_p2->
year)
case1:
re_money=1.2*(d_p2->
case2:
case3:
case4:
re_money=1.5*(d_p2->
case5:
default:
d_p1=(structDk*)malloc(sizeof(structDk));
d_p1->
last=d_p2;
next=d_p1;
d_p2=d_p1;
d_end=d_p2;
voidhk()
hk();
h_p2=h_end;
h_num++;
h_p2->
num=h_num;
d_num=t;
num==h_p2->
d_num)break;
请输入还款人姓名\n"
请输入还款人身份证号码\n"
请输入还款金额\n"
h_p2->
while(h_p2->
money>
re_money)
超出范围,请重新输入还款金额\n"
re_money=d_p2->
re_money-h_p2->
money;
h_p1=(structHk*)malloc(sizeof(structHk));
h_p1->
last=h_p2;
next=h_p1;
h_p2=h_p1;
h_end=h_p2;
voidw_f()
next!
fwrite(d_p2,sizeof(Dk),1,fp1);
for(h_p2=h_head;
fwrite(h_p2,sizeof(Hk),1,fp2);
导入成功"
voidr_f()
!
feof(fp1);
fread(d_p2,sizeof(Dk),1,fp1);
if(d_p2->
money==0&
&
=d_head)break;
d_num++;
d_p1->
d_p2->
d_num--;
feof(fp2);
fread(h_p2,sizeof(Hk),1,fp2);
if(h_p2->
=h_head)break;
h_num++;
h_p1->
h_p2->
h_num--;
读取成功"
4.2运行结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海 应用 技术学院 银行信贷 系统 课程设计 报告