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

上传人:b****0 文档编号:11845 上传时间:2022-09-30 格式:DOCX 页数:31 大小:154.67KB
下载 相关 举报
银行业务管理系统算法与数据结构.docx_第1页
第1页 / 共31页
银行业务管理系统算法与数据结构.docx_第2页
第2页 / 共31页
银行业务管理系统算法与数据结构.docx_第3页
第3页 / 共31页
银行业务管理系统算法与数据结构.docx_第4页
第4页 / 共31页
银行业务管理系统算法与数据结构.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

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

《银行业务管理系统算法与数据结构.docx》由会员分享,可在线阅读,更多相关《银行业务管理系统算法与数据结构.docx(31页珍藏版)》请在冰豆网上搜索。

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

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

2008-2009学年度第二学期

XXXX学院数学与计算机科学学院

《算法与数据结构课程设计》

综合设计报告

课程设计名称:

银行业务管理模拟

专业:

计算机科学与技术

班级:

0X计本(X)班

学号:

0X0X030XX

姓名:

高XX

指导教师:

肖XX

课程设计报告

设计项目编号

01

名称

银行业务管理模拟

实验课时

5

主要仪器设备

PC机

附属设备

优盘

主要使用软件

Win-TC

实验时间

2009年3月-5月

1.问题的描述和分析

商业银行业务模拟是对商业银行柜面业务进行模拟实习课程。

随着金融业和信息技术的不断发展,银行的管理也已经和计算机接轨,实现了信息的数字化管理,了解并掌握商业银行柜台,周期业务的实际操作处理方法,了解现今商业银行综合业务系统的软件应用,着重于对学生实际操作能力的训练,使学生能初步具备工作岗位的适应各个业务的编程操作能力。

多了解各行业编程需求,减少学生踏上工作岗位的适应磨合时间,提高就业竞争力,突出应用型人才的培养目标。

下面我将对现行银行业务管理进行小部分模拟设计。

◆写一个上述银行业务管理系统,能够实现一些常用功能,如:

制卡,发卡,存款,取款。

用于对用户信息进行管理,并能进行修改,查找,显示,求和等操作。

2.算法的设计

概要设计:

 

◆建立银行卡管理系统,该系统的主要模块为:

(1)实现系统内制卡、发卡功能;

(2)实现系统内帐户和相关帐户管理;

(3)实现卡交易和合法性检查;

(4)实现卡金融交易积分功能;

(5)实现卡报表功能;

(6)数据以文件形式存储

在编辑过程中,需要使用串,查找等算法,同时需要对输入的信息进行存储。

在制卡发卡后,对用户的信息进行查找,并显示出来。

voidload(){

FILE*fp1;

if((fp1=fopen("c:

//user.txt","r"))==NULL)

{

printf("\nCannotopenthefile\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.数据结构的设计

串是非数值处理中的主要对象,我们一般用串来表示字符流。

而这个程序中要处理的就是银行类的字符流,所以我们需要用到串来实现这一功能。

串的存储表示有三种形式,第一种是定长顺序存储结构。

第二种是块链式存储结构。

第三种是堆分配存储结构。

在这里,我们采用串的第一种存储方式——定长顺序存储,而在程序编译时,要给出确定的空间大小,所以我们将串的空间大小设计为100个字符。

#defineMAXSIZE100

结构体定义如下:

structuseru[]/*信用卡结构体*/

{

intcardNO;/*卡数*/

charname[20];/*姓名*/

charadnum[22];/*信用卡号*/

charcode[8];/*密码*/

floatleft;/*余额/存款*/

intexp;/*消费*/

intflag;/*确定是新卡还是旧卡*/

}u[M];

4.具体程序的实现

首先是系统内的制卡功能:

 

是否有19位N

Y

记录中卡号Y

是否已经存在调函数

N

根据实际对密码等

赋初值

#include

#include

#include

#include

#defineM100/*定义的数组上限*/

intN;/*结构体数组下标量*/

intH;/*帮助确定是否保存文件*/

structuseru[]/*信用卡结构体*/

{

intcardNO;/*卡数*/

charname[20];/*姓名*/

charadnum[22];/*信用卡号*/

charcode[8];/*密码*/

floatleft;/*余额/存款*/

intexp;/*消费*/

intflag;/*确定是新卡还是旧卡*/

}u[M];

 

5.界面设计

本程序的主控菜单如下:

1.申请一个卡号

2.使用这个卡号

3.打印消费记录

4.存款功能

5.取款功能

6.消费功能

7.报表功能

8.查找消费记录

9.修改密码

intmenu(void)

{intx;

do

{

printf("\t\t<*******************menu************************>\n");

printf("\t\t||

(1)Applyforoneblankcard||\n");

printf("\t\t||

(2)Useoneblankcard||\n");

printf("\t\t||(3)Printtherecord||\n");

printf("\t\t||(4)Storethemoney||\n");

printf("\t\t||(5)Fetchthemoney||\n");

printf("\t\t||(6)Spendthemoney||\n");

printf("\t\t||(7)Savethefile||\n");

printf("\t\t||(8)Searchtherecord||\n");

printf("\t\t||(9)Changethepassward||\n");

printf("\t\t||(0)quitthesystem||\n");

printf("\t\t\tPleaseinputyourchoice(0-10):

()\b\b\b");

scanf("%d",&x);

if(x<0||x>10)

{

printf("\t\t\tError!

Inputagain.");

}

}while(x<0||x>10);

return(x);

}

 

(1).制卡

voidmake(structuseru[])

{

inti;

chara[22];

load();/*读取文件中的可用空卡条数*/

do

{

printf("\n\nEntertheADnumberofthecard:

\n");

scanf("%s",a);

if(strlen(a)!

=19)

{

printf("\n\n\n\t\t****MistakenID,pleaseenteragain*********\n\n");

continue;

}

for(i=0;i

if(strcmp(u[i].adnum,a)==0)

{

printf("\n\n\t\t***TheADnumberexists,pleaseenteragain***\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(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*************Successfullyapplied!

*************\n\n");

printf("\n\n\tPressanykeytoreturn.....\n\n");

getchar();

}

其中

voidload(){

FILE*fp1;

if((fp1=fopen("c:

//user.txt","r"))==NULL)

{

printf("\nCannotopenthefile\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);

}

使用该程序,要现在c盘建立一个名为user.txt的文件。

 

(2)发卡:

voiddeliever(structuseru[]){

{

inti;

chara[20];

floatb;

charcode2[8];

for(i=0;i<=N;i++)

if(u[i].flag==-1)/*-1是新申请的卡特有的值*/{

printf("\n\n\t\t1.Pleaseenteryourname:

");

scanf("%s",a);

strcpy(u[i].name,a);

printf("\n\t\t2.Code:

");

scanf("%s",u[i].code);

printf("\n\t\t3.Codeagain:

");

scanf("%s",code2);

while(stricmp(u[i].code,code2)!

=0)/*输入的密码两次应该相同*/

{

printf("Yourtwocodesarenotidentical,pleaseinputthemagain!

");

printf("\n\t\t\tCode:

");

scanf("%ld",&u1.code);

printf("\n\t\t\tCodeagain:

");

scanf("%ld",&code2);

}

strcpy(u[i].code,a);

printf("\n\n\t\tThemoneyyouwanttostore:

");

scanf("%f",&b);

printf("\n\n");

u[i].left=b;

u[i].flag=1;/*1是使用的卡特有的值*/

H=1;

printf("\n\n\t\t*********Youcanusethecard!

Congratulations!

*********\n\n");

printf("\n\n\t\tPressanykeytoreturn.....\n\n");

getchar();

break;

}

if(i>N)

{

printf("\n\n\n\t\t**************Havenofreecard,pleasemakeone!

***************\n\n");

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1