版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、算法与数据结构课程设计综合设计报告第44页 共44页2008-2009学年度第二学期XXXX学院数学与计算机科学学院算法与数据结构课程设计综合设计报告课程设计名称:银行业务管理模拟专 业:计算机科学与技术班 级:0X计本(X)班 学 号: 0X0X030XX姓 名:高XX指 导 教 师:肖XX课程设计报告设计项目编号01名称银行业务管理模拟实验课时5主要仪器设备PC机附属设备优盘主要使用软件Win-TC实验时间2009年3月-5月1.问题的描述和分析商业银行业务模拟是对商业银行柜面业务进行模拟实习课程。随着金融业和信息技术的不断发展,银行的管理也已经和计算机接轨,实现了信息的数字化管理,了解并
2、掌握商业银行柜台,周期业务的实际操作处理方法,了解现今商业银行综合业务系统的软件应用,着重于对学生实际操作能力的训练,使学生能初步具备工作岗位的适应各个业务的编程操作能力。多了解各行业编程需求,减少学生踏上工作岗位的适应磨合时间,提高就业竞争力,突出应用型人才的培养目标。下面我将对现行银行业务管理进行小部分模拟设计。写一个上述银行业务管理系统,能够实现一些常用功能,如:制卡,发卡,存款,取款。用于对用户信息进行管理,并能进行修改,查找,显示,求和等操作。2.算法的设计概要设计:银 行 业 务 管 理 模 拟 统存款取款银 行 业 务 管 理 模 拟 统存款取款报表消费查找记录改密退出制卡发卡建
3、立银行卡管理系统,该系统的主要模块为: (1)实现系统内制卡、发卡功能;(2)实现系统内帐户和相关帐户管理;(3)实现卡交易和合法性检查;(4)实现卡金融交易积分功能;(5)实现卡报表功能;(6)数据以文件形式存储在编辑过程中,需要使用串,查找等算法,同时需要对输入的信息进行存储。在制卡发卡后,对用户的信息进行查找,并显示出来。void load() FILE *fp1; if(fp1=fopen(c:/user.txt,r)=NULL) printf(nCan not open the filen); exit(0); for(N=0;!feof(fp1);N+) fscanf(fp1,%d
4、%s%s%s%f%d%d,&uN.cardNO,uN.name,uN.adnum,uN.code,&uN.left,&uN.exp,&uN.flag); return(N); fclose(fp1);3.数据结构的设计串是非数值处理中的主要对象,我们一般用串来表示字符流。而这个程序中要处理的就是银行类的字符流,所以我们需要用到串来实现这一功能。串的存储表示有三种形式,第一种是定长顺序存储结构。第二种是块链式存储结构。第三种是堆分配存储结构。在这里,我们采用串的第一种存储方式定长顺序存储,而在程序编译时,要给出确定的空间大小,所以我们将串的空间大小设计为100个字符。#define MAXSIZ
5、E 100结构体定义如下:struct user u /*信用卡结构体*/ int cardNO; /*卡数*/ char name20; /*姓名*/ char adnum22; /*信用卡号*/ char code8; /*密码*/ float left; /*余额/存款*/ int exp; /*消费*/ int flag; /*确定是新卡还是旧卡*/uM;4.具体程序的实现首先是系统内的制卡功能: 用户输入一个申请的卡号 用户输入一个申请的卡号错误 重新输入是否有19位N错误 重新输入Y卡号已经存在需要重新输入记录中卡号卡号已经存在需要重新输入是否已经存在 调函数N根据实际对密码等回菜
6、单赋初值回菜单#include#include #include#include #define M 100 /*定义的数组上限*/int N; /*结构体数组下标量*/int H; /*帮助确定是否保存文件*/struct user u /*信用卡结构体*/ int cardNO; /*卡数*/ char name20; /*姓名*/ char adnum22; /*信用卡号*/ char code8; /*密码*/ float left; /*余额/存款*/ int exp; /*消费*/ int flag; /*确定是新卡还是旧卡*/uM;5.界面设计本程序的主控菜单如下:1.申请一个卡
7、号2.使用这个卡号3.打印消费记录4.存款功能5.取款功能6.消费功能7.报表功能8.查找消费记录9.修改密码int menu(void) int x; do printf(ttn); printf(tt| (1)Apply for one blank card |n); printf(tt| (2)Use one blank card |n); printf(tt| (3)Print the record |n); printf(tt| (4)Store the money |n);printf(tt| (5)Fetch the money |n); printf(tt| (6)Spend
8、the money |n); printf(tt| (7)Save the file |n); printf(tt| (8)Search the record |n); printf(tt| (9)Change the passward |n); printf(tt| (0)quit the system |n); printf(tttPlease input your choice (0-10):( )bbb); scanf(%d,&x); if(x10) printf(ttt Error! Input again.); while(x10); return (x);.制卡void make
9、(struct user u) int i; char a22; load(); /*读取文件中的可用空卡条数*/ do printf(nnEnter the AD number of the card:n); scanf(%s,a); if(strlen(a)!=19) printf(nnntt* Mistaken ID,please enter again*nn); continue; for(i=0;iN;i+) if(strcmp(ui.adnum,a)=0) printf(nntt* The AD number exists,please enter again *nn); brea
10、k; while(strlen(a)!=10)|strcmp(ui.adnum,a)=0); uN.cardNO=N; strcpy(uN.name,*); strcpy(uN.adnum,a); strcpy(uN.code,000000); uN.flag=-1; uN.left=0.00; uN.exp=0; N+; H=1; printf(nnntt* Successfully applied!*nn); printf(nntPress any key to returnnn); getchar();其中void load() FILE *fp1; if(fp1=fopen(c:/us
11、er.txt,r)=NULL) printf(nCan not open the filen); exit(0); for(N=0;!feof(fp1);N+) fscanf(fp1,%d%s%s%s%f%d%d,&uN.cardNO,uN.name,uN.adnum,uN.code,&uN.left,&uN.exp,&uN.flag); return(N); fclose(fp1);使用该程序,要现在c盘建立一个名为user.txt的文件。发卡: void deliever(struct user u) int i; char a20; float b; char code28; for(i
12、=0;iN) printf(nnntt*Have no free card,please make one!*nn); printf(nntPress any key to returnnn); getchar(); 流程:输入姓名 两次密码确定值相同之后 存入一定金额就可以使用信用卡了.取款void fetch(struct user u) float money; /*money要取的数目*/ int i,j=0; /*j记录同名的人数 */ int logic=0,account=0; /*logic记录是否在文件中找到使用者信息 accout记录输入密码次数 上限为3次*/ int n
13、um10; /*记录同名的人在文件中的位置即条数 */ char a20,b6; printf(nnttPlease input your name:); scanf(%s,a); for(i=0;i1) printf(nnEnter the AD number of the card:(tt )bbbbbbbbbbbbbbbbbbbb); scanf(%s,a); for(i=0;iunumj-1.left) printf(nnt Balance Difficiency!); while(moneyunumj-1.left); break; else printf(nntt* Mistake
14、n code-Try again*nn); account+; while(account3); if(account3) unumj-1.left-=money; H=1; printf(nntt* Fetch Successful* nn); else printf(nntt*Fetch failue *nnn); printf(nntPass any key to returnnn); getchar(); .存款void deposit(struct user u) /*存储 定义变量意义基本与取款函数相同*/ float money; int i,j=0; int logic=0,a
15、ccount=0; int num10; char a20,b6; printf(nnPlease enter your name:); scanf(%s,a); for(i=0;i1) printf(nnEnter the AD number of the card:(tt )bbbbbbbbbbbbbbbbbbbb); scanf(%s,a); for(i=0;ij;i+) if(strcmp(unumi.adnum,a)=0) logic=1; numj-1=numi; break; if(logic=0) printf(nntt* The record does not exist.*
16、nnn); if(j=1|logic=1) do printf(nnEnter the code :( )bbbbbbb); scanf(%s,b); if(strcmp(unumj-1.code ,b)=0) printf(nnHow much do you want to deposit:); scanf(%f,&money); unumj-1.left+=money; H=1; printf(nntt* Successfully deposit !*nn); break; else printf(nntt* Mistaken code-Try again*nn); account+; w
17、hile(accountN/8+1) printf(nntt* Error page you enter-Try again *); continue; else printf(nttttPage (%d )n,page); printf(nn|); printf(n|NO. | name | AD |flag| left | exp |); printf(n|); for(i=8*(1)+1;iN/7+1); printf(nntPass any key to returnn); getchar();.消费 void consume(struct user u) /*消费 变量意义同取款函数
18、*/ float money; int i,j=0; int logic=0,account=0; int num10; char a20,b6; printf(nnPlease enter your name:); scanf(%s,a); for(i=0;i1) printf(nnPlease enter the AD number of the card:(tt )bbbbbbbbbbbbbbbbbbbb); scanf(%s,a); for(i=0;iunumj-1.left) printf(nnt Balance Difficiency!); while(moneyunumj-1.l
19、eft); unumj-1.left-=money; unumj-1.exp+=money; H=1; printf(nnntt* Pay for successful *nn); break; else printf(nntt* Mistaken code-Try again*nn); account+; while(account3); if(account=3) printf(nntt* Failue Consume *nnn); printf(nntPress any key to returnnn); getchar(); (7).改密码:void change(struct use
20、r u) /*修改 定义变量意义同取款函数*/ int i,j=0; int logic=0,account=0; int num10; char a20,b6; printf(nnEnter your name:); scanf(%s,a); for(i=0;i1) printf(nnPlease enter the AD number of the card:(tt )bbbbbbbbbbbbbbbbbbbb); scanf(%s,a); for(i=0;ij;i+) if(strcmp(unumi.adnum,a)=0) logic=1; numj-1=numi; break; if(l
21、ogic=0) printf(nntt* The record does not exist.*nnn); if(j=1|logic=1) do printf(nntt1.Please enter the old code :( )bbbbbbb); scanf(%s,b); if(strcmp(unumj-1.code ,b)=0) printf(nntt2.Enter the new code :( )bbbbbbb); scanf(%s,b); strcpy(unumj-1.code,b); printf(nntt* The code has been changed ,dont for
22、get the new one! *nn ); H=1; break; else printf(nntt* Mistaken code-Try again*nn); account+; while(account3); if(account=3) printf(nntt* Code unsuccessfully changed*n); printf(nntPass any key to returnnn); getchar(); (8).查找消费记录:int search(struct user u) int i,j=0; int logic=0,account=0; int num10; c
23、har a20,b6; printf(nnPlease enter your name:); scanf(%s,a); for(i=0;i1) printf(nnEnter the AD number of the card:(tt )bbbbbbbbbbbbbbbbbbbb); scanf(%s,a); for(i=0;ij;i+) if(strcmp(unumi.adnum,a)=0) logic=1; numj-1=numi; break; if(logic=0) printf(nntt* The record does not exist.*nnn); if(j=1|logic=1)
24、do printf(nnPlease enter the code :( )bbbbbbb); scanf(%s,b); if(strcmp(unumj-1.code ,b)=0) printf(nn The record is:); printf(nn|); printf(n|NO. | name | AD | account | integral |); printf(n|); printf(n|%-4d|%-20s|%-20s|%-10.2f|%-10d|,unumj-1.cardNO,, unumj-1.adnum,unumj-1.left,unumj-1.ex
25、p); printf(n|); printf(nnttPress any key to continuenn); getchar(); return numj-1; else printf(nntt* Mistaken code-Try again*nn); account+; while(account3); else printf(nntt* Failue Search *nnn); printf(nntPass any key to returnnn); getchar(); return -1; (9).退出:void quit() char chose; if(H=1) printf
26、(nnIf you want to save the change? y or n :( )bb); chose=getchar(); printf(%c,chose); getchar(); if(chose=y) save(u); printf(nnnnntt*Thank you!*n); exit(0); if(H=0|chose=n) printf(nnnnntt*bye bye!*n);其中.文件存储:void save(struct user u) FILE *fp2; int i; printf(t* Saving file*n); printf( ); if(fp2=fopen(c:/score.txt,w)=NULL) printf(Can not open the filen); exit(0); for(i=0;iN;i+) fprintf(fp2,%d %s %s %s %f %d %dn,&uN.cardNO,uN.name,uN.adnum,uN.code,&uN.left,&uN.exp,&uN.flag); fclose(fp2); printf(t* Saving success ! *n); H=0; (10).主程序:main() printf(t * welcome! *n);printf(nnntt press Enter
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024SCCM指南:成人重症监护超声检查(更新版)
- 2025云南红药胶囊治疗眼底出血临床应用专家共识解读课件
- 2026年移动IP游戏行业分析报告及未来发展趋势报告
- 2026年电工电气产品代理加盟行业分析报告及未来发展趋势报告
- 2026年熔断保险丝行业分析报告及未来发展趋势报告
- 2026年春北师大版五年级数学《用方程解决问题》教案
- 2026年生物基聚氨酯行业分析报告及未来发展趋势报告
- 2026年锡粉行业分析报告及未来发展趋势报告
- 2026年情趣文胸行业分析报告及未来发展趋势报告
- 2026年电厂电气安全考试题库及答案解析
- 2026年广东广州市中考模拟考试化学试卷(含答案)
- 侍茄师(雪茄服务师)初级测试题
- 初中地理教师教学能力提升培训
- 知行合一 - 社会实践•创新创业智慧树知到答案2024年江西师范大学
- 中国抗癌协会:乳腺癌全身治疗指南(系列十)
- 医院检验科实验室生物安全程序文件SOP
- 《罗茨鼓风机》课件
- 学前课程与幸福童年
- 化工安全设计
- 瓦特改良蒸汽机课件
- 《大学生军事理论教程》第三章
评论
0/150
提交评论