ImageVerifierCode 换一换
格式:DOC , 页数:47 ,大小:386KB ,
资源ID:4681895      下载积分:14 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4681895.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(银行业务管理系统算法与数据结构.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

银行业务管理系统算法与数据结构.doc

1、 银行业务管理系统算法与数据结构 47 2020年5月29日 文档仅供参考 - 第二学期 XXXX学院数学与计算机科学学院 <算法与数据结构课程设计> 综合设计报告 课程设计名称: 银行业务管理模拟 专 业: 计算机科学与技术 班 级: 0X计本(X)班 学 号: 0X0X030XX 姓 名: 高XX 指 导 教 师: 肖XX

2、 课程设计报告 设计项目编号 01 名称 银行业务管理模拟 实验课时 5 主要仪器设备 PC机 附属设备 优盘 主要使用软件 Win-TC 实验时间 3月-5月 1.问题的描述和分析 商业银行业务模拟是对商业银行柜面业务进行模拟实习课程。随着金融业和信息技术的不断发展,银行的管理也已经和计算机接轨,实现了信息的数字化管理,了解并掌握商业银行柜台,周期业务的实际操作处理方法,了解现今商业银行综合业务系统的软件应用,着重于对学生实际操作能力的训练,使学生能初步具备工作岗位的适应各个业务的编程操作能力。多了解各行业编程需求,减少

3、学生踏上工作岗位的适应磨合时间,提高就业竞争力,突出应用型人才的培养目标。 下面我将对现行银行业务管理进行小部分模拟设计。 ◆ 写一个上述银行业务管理系统,能够实现一些常见功能,如:制卡,发卡,存款,取款。用于对用户信息进行管理,并能进行修改,查找,显示,求和等操作。 2.算法的设计 概要设计: 银 行 业 务 管 理 模 拟 统 存款 取款 报表 消费 查找记录 改密 退出 制卡 发卡 ◆ 建立银行卡管理系统,该系统的主要模块为: (1)实现系统内

4、制卡、发卡功能; (2)实现系统内帐户和相关帐户管理; (3)实现卡交易和合法性检查; (4)实现卡金融交易积分功能; (5)实现卡报表功能; (6)数据以文件形式存储 在编辑过程中,需要使用串,查找等算法,同时需要对输入的信息进行存储。 在制卡发卡后,对用户的信息进行查找,并显示出来。 void load() { FILE *fp1; if((fp1=fopen("c://user.txt","r"))==NULL) {

5、 printf("\nCan not open the file\n"); exit(0); } for(N=0;!feof(fp1);N++) { fscanf(fp1,"%d%s%s%s%f%d%d",&u[N].cardNO,u[N].name,u[N].adnum,u[N].code,&u[N].left,&u[N].exp,&u[N].flag); return(N); } fclose(fp1); } 3.数据结构的设计 串是非数值处理中的主要对象,我们一般用串来表示字符流。而这个程序中要

6、处理的就是银行类的字符流,因此我们需要用到串来实现这一功能。串的存储表示有三种形式,第一种是定长顺序存储结构。第二种是块链式存储结构。第三种是堆分配存储结构。 在这里,我们采用串的第一种存储方式——定长顺序存储,而在程序编译时,要给出确定的空间大小,因此我们将串的空间大小设计为100个字符。 #define MAXSIZE 100 结构体定义如下: struct user u[ ] /*信用卡结构体*/ { in

7、t cardNO; /*卡数*/ char name[20]; /*姓名*/ char adnum[22]; /*信用卡号*/ char code[8]; /*密码*/

8、 float left; /*余额/存款*/ int exp; /*消费*/ int flag; /*确定是新卡还是旧卡*/ }u[M]; 4.具体程序的实现 首先是系统内的制卡功能: 用户输入一个申请的卡号 错误 重新输入 是否有19位 N Y 卡号已

9、经存在 需要重新输入 记录中卡号 Y 是否已经存在 调函数 N 根据实际对密码等 回菜单 赋初值 #include #include #include #include #define M 100 /*定义的数组上限*/ int N; /*结构体数组下标量*/ int H;

10、 /*帮助确定是否保存文件*/ struct user u[ ] /*信用卡结构体*/ { int cardNO; /*卡数*/ char name[20];

11、 /*姓名*/ char adnum[22]; /*信用卡号*/ char code[8]; /*密码*/ float left; /*余额/存款*/ int exp; /*消费*/

12、 int flag; /*确定是新卡还是旧卡*/ }u[M]; 5.界面设计 本程序的主控菜单如下: 1.申请一个卡号 2.使用这个卡号 3.打印消费记录 4.存款功能 5.取款功能 6.消费功能 7.报表功能 8.查找消费记录 9.修改密码 int menu(void) { int x; do { printf("\t\t<*******************menu************************>\n");

13、 printf("\t\t|| (1)Apply for one blank card ||\n"); printf("\t\t|| (2)Use one blank card ||\n"); printf("\t\t|| (3)Print the record ||\n"); printf("\t\t|| (4)Store the money

14、 ||\n"); printf("\t\t|| (5)Fetch the money ||\n"); printf("\t\t|| (6)Spend the money ||\n"); printf("\t\t|| (7)Save the file ||\n"); printf("\t\t|| (8

15、)Search the record ||\n"); printf("\t\t|| (9)Change the passward ||\n"); printf("\t\t|| (0)quit the system ||\n"); printf("\t\t\tPlease input your choice (0-10):( )\b\b\b"); scanf("

16、d",&x); if(x<0||x>10) { printf("\t\t\t Error! Input again."); } }while(x<0||x>10); return (x); } (1) .制卡 void make(struct user u[]) { int i; char a[22]; load();

17、 /*读取文件中的可用空卡条数*/ do { printf("\n\nEnter the AD number of the card:\n"); scanf("%s",a); if(strlen(a)!=19) { printf("\n\n\n\t\t**** Mistaken ID,please enter again*********\n\n"); continue; } for(i=0;i

18、strcmp(u[i].adnum,a)==0) { printf("\n\n\t\t*** The AD number exists,please enter again ***\n\n"); break; } } while(((strlen(a))!=10)||strcmp(u[i].adnum,a)==0); u[N].cardNO=N; strcpy(u[N].name,"***"); strcpy(u[N].adnum,a); strcpy(

19、u[N].code,"000000"); u[N].flag=-1; u[N].left=0.00; u[N].exp=0; N++; H=1; printf("\n\n\n\t\t************* Successfully applied!*************\n\n"); printf("\n\n\tPress any key to return.....\n\n"); getchar(); } 其中 void load()

20、 { FILE *fp1; if((fp1=fopen("c://user.txt","r"))==NULL) { printf("\nCan not open the file\n"); exit(0); } for(N=0;!feof(fp1);N++) { fscanf(fp1,"%d%s%s%s%f%d%d",&u[N].cardNO,u[N].name,u[N].adnum,u[N].code,&u[N].l

21、eft,&u[N].exp,&u[N].flag); return(N); } fclose(fp1); } 使用该程序,要现在c盘建立一个名为user.txt的文件。 (2) 发卡: void deliever(struct user u[]) { { int i; char a[20]; float b; char code2[8]; for(i=0;i<=N;i++)

22、if(u[i].flag==-1) /*-1是新申请的卡特有的值*/ { printf("\n\n\t\t1.Please enter your name:"); scanf("%s",a); strcpy(u[i].name,a); printf("\n\t\t2.Code:"); scanf("%s",u[i].code

23、); printf("\n\t\t3.Code again:"); scanf("%s",code2); while(stricmp(u[i].code,code2)!=0) /*输入的密码两次应该相同*/ { printf("Your two codes are not identical,please input them again!"); printf("\n\t\t\tCode:"); scanf("%ld",&u1.code); printf("\n

24、\t\t\tCode again:"); scanf("%ld",&code2); } strcpy(u[i].code,a); printf("\n\n\t\tThe money you want to store:"); scanf("%f",&b); printf("\n\n"); u[i].left=b; u[i].flag=1; /*1是使用的卡特有的值*/

25、 H=1; printf("\n\n\t\t********* You can use the card!Congratulations! *********\n\n"); printf("\n\n\t\t Press any key to return..... \n\n"); getchar(); break; } if(i>N) { printf("\n\n\n\t\t**************Have no free card,please

26、make one!***************\n\n"); printf("\n\n\tPress any key to return.....\n\n"); getchar(); } } 流程:输入姓名 两次密码确定值相同之后 存入一定金额就能够使用信用卡了 (3) .取款 void fetch(struct user u[]) { float money; /*money要取的数目*/ int i,j=

27、0; /*j记录同名的人数 */ int logic=0,account=0; /*logic记录是否在文件中找到使用者信息 accout记录输入密码次数 上限为3次*/ int num[10]; /*记录同名的人在文件中的位置即条数 */ char a[20],b[6]; printf("\n\n\t\tPlease input your name:"); scanf("%s",a);

28、 for(i=0;i<=N;i++) if(strcmp(u[i].name,a)==0) { num[j]=i; /*查找是第几条记录*/ j++; } if(j==0) printf("\n\n\t\t********* Can not find the record of the person %s! *********\n\n",a); if(j>1) { printf("\n\nEnt

29、er the AD number of the card:(\t\t )\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"); scanf("%s",a); for(i=0;i

30、一个非零元素赋为正确的信息所在位置*/ break; } if(logic==0) printf("\n\n\t\t*** The record does not exist. ***\n\n\n"); } if(j==1||logic==1) do { printf("\n\nPlease Enter the code :( )\b\b\b\b\b\b\b"); scanf("%s",b);

31、 if(strcmp(u[num[j-1]].code,b)==0) { printf("\n\n\tThe money left is:"); printf("%f\n\n",u[num[j-1]].left); do { printf("\nHow much do you want to fetch:"); scanf("%f",&money); if(mon

32、ey>u[num[j-1]].left) printf("\n\n\t Balance Difficiency!"); }while(money>u[num[j-1]].left); break; } else { printf("\n\n\t\t************* Mistaken code--Try again*************\n\n"); accoun

33、t++; } }while(account<3); if(account<3) { u[num[j-1]].left-=money; H=1; printf("\n\n\t\t**** Fetch Successful**** \n\n"); } else { printf("\n\n\t\t****************Fetch failue **********************\n\n\n");

34、 printf("\n\n\tPass any key to return.....\n\n"); getchar(); } } (4) .存款 void deposit(struct user u[]) /*存储 定义变量意义基本与取款函数相同*/ { float money; int i,j=0; int logic=0,account=0; int num[10]; char a[20],b[6]; printf("\n\nPlease enter yo

35、ur name:"); scanf("%s",a); for(i=0;i<=N;i++) if(strcmp(u[i].name,a)==0) { num[j]=i; j++; } if(j==0) printf("\n\n\t\t*** Can not find the record of the person %s! ***\n\n",a); if(j>1) { printf("\n\nEnter the AD number of the

36、card:(\t\t )\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"); scanf("%s",a); for(i=0;i

37、f("\n\n\t\t************* The record does not exist.*************\n\n\n"); } if(j==1||logic==1) do { printf("\n\nEnter the code :( )\b\b\b\b\b\b\b"); scanf("%s",b); if(strcmp(u[num[j-1]].code ,b)==0) { printf("\n\nHo

38、w much do you want to deposit:"); scanf("%f",&money); u[num[j-1]].left+=money; H=1; printf("\n\n\t\t************** Successfully deposit !**************\n\n"); break; } else { pri

39、ntf("\n\n\t\t************* Mistaken code--Try again*************\n\n"); account++; } }while(account<3); if(account==3) { printf("\n\n\t\t****** Deposit failue************\n\n\n"); printf("\n\n\tPass any key to return.....\n\n");

40、 getchar(); } } (5) .报表 void forms(struct user u[]) /*报表*/ { int i,page; do { printf("\n\tThere are %d pages !!",N/8+1); printf("\n\n\tWhich page do you want to check?:( )\b\b"); scanf("%d",&page);

41、if(page>N/8+1) { printf("\n\n\t\t*** Error page you enter--Try again ***"); continue; } else { printf("\n\t\t\t\tPage (%d )\n",page); printf("\n\n|----|--------------------|--------------------|----|----------|-

42、"); printf("\n|NO. | name | AD |flag| left | exp |"); printf("\n|----|--------------------|--------------------|----|----------|----------|"); for(i=8*(page-1)+1;i<=8*(page-1)+9;i++) { printf("

43、\n|%-4d|%-20s|%-20s|%-4d|%-10.2f|%-10d|",u[i-1].cardNO,u[i-1].name,u[i-1].adnum, u[i-1].flag,u[i-1].left,u[i-1].exp); printf("\n|----|--------------------|--------------------|----|----------|----------|"); if(i==N)

44、 break; } } }while(page>N/7+1); printf("\n\n\tPass any key to return......\n"); getchar(); } (6) .消费 void consume(struct user u[]) /*消费 变量意义同取款函数*/ { float money; int i,j=0; int logic=0,account=0; int num[10];

45、 char a[20],b[6]; printf("\n\nPlease enter your name:"); scanf("%s",a); for(i=0;i<=N;i++) if(strcmp(u[i].name,a)==0) { num[j]=i; j++; } if(j==0) printf("\n\n\t\t*************** Can not find the record of the %s! *************\n\n",a); if

46、j>1) { printf("\n\nPlease enter the AD number of the card:(\t\t )\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"); scanf("%s",a); for(i=0;i

47、 break; } if(logic==0) printf("\n\n\t\t*** The record does not exist.***\n\n\n"); } if(j==1||logic==1) do { printf("\n\nPlease enter the code :( )\b\b\b\b\b\b\b"); scanf("%s",b); if(strcmp(u[num[j-1]].code ,b)==0)

48、 { do { printf("\n\n\nHow much is the expenditure?:"); scanf("%f",&money); if(money>u[num[j-1]].left) printf("\n\n\t Balance Difficiency!"); }while(money>u[num[j-1]].left);

49、 u[num[j-1]].left-=money; u[num[j-1]].exp+=money; H=1; printf("\n\n\n\t\t***** Pay for successful *******\n\n"); break; } else { printf("\n\n\t\t*** Mistaken code--Try again***

50、\n\n"); account++; } }while(account<3); if(account==3) { printf("\n\n\t\t****** Failue Consume ************\n\n\n"); printf("\n\n\tPress any key to return.....\n\n"); getchar(); } } (7).改密码: void change(struct

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服