银行业务模拟

银行业务模拟
银行业务模拟

NANCHANG UNIVERSITY

课程设计报告

课程名称:计算机技术综合课程设计

题目:银行业务模拟

学院:信息工程系:计算机科学与技术

专业:计算机科学与技术

班级:061 班

学号:6103106020

学生姓名:邱雨田

时间:2010年1月11日至1月22日

一、问题描述:

客户业务分为两种。第一种是申请从银行得到一笔资金,即取款或借款;第二种是向银行中投入一笔资金,即存款或还款。银行有两个服务窗口,相应地有两个队列。客户到达银行后先排第一个队。处理每个客户业务时,如果属于第一种,且申请额超出银行现存资金总额而得不到满足,则立刻排入第二个队等候,直到满足时才离开银行;否则业务处理完后立刻离开银行。每接待完一个第二种业务的客户,则顺序检查和处理(如果可能)第二个队列中的客户,对满足的申请者予以满足,不能满足者重新排到第二个队列的队尾。注意,在此检查过程中,一旦银行资金总额少于或等于刚才第一个队列中最后一个客户(第二种业务)被接待之前的数额,或者本次已将第二个队列检查或处理了一遍,就停止检查(因为此时已不可能还有能满足者)转而继续接待第一个队列的客户。任何时刻都只开一个窗口。假设检查不需要时间。营业时间结束时所有客户立即离开银行。

写一个银行业务的事件驱动模拟系统,通过模拟方法求出客户在银行内逗留的平均时间。

二、分析与设计

1.问题分析:

本问题主要需要处理两个队列(fq,sq)和一个事件表(eq)。一个队列(fq)表示第一种业务(存款或还款),另一个队列(sq)表示第二种业务(取款或借款)。事件有两类:到达银行和离开银行。到达事件发生时随机地设置此用户的交易时间和距下一到达事件之间的时间间隔。每个客户要办理的款额也应该是随机确定的。初始时银行现存资金总额为total。开始营业后的第一个事件是客户到达,营业时间从0到closetime。Total 和closetime以及随机产生的时间和款项的上下界都是交互地从让用户从输入,作为模拟参数。要得到相关的结果:由于下班时间到而没能办理的顾客数;分别列出需要办理两种业务的顾客数;分别列出已成功办理两种业务的顾客数;分别列出两种业务的成功办理率;客户在银行内的平均逗留时间;下班时银行所剩余的资金总额。

2.测试数据及期望结果:

1)输入:

用户需要在程序运行开始时输入以下数据:

①银行初始资金total(测试数据为10000)

②银行营业时间closetime(测试数据为600)

③客户交易时间上下界dealmaxtime和dealmintime,用

于给随机数产生函数传递参数,产生一个介于这两个值之间的

值。

④客户到达时间间隔上界arrivemaxtime arrivemintime,

用于给随机数产生函数传递参数,产生一个介于这两个值之间的

值。

⑤交易额的最大上限dealMaxMoney.用于给随机函产生函

数参数,产生一个介于-dealMaxMoney和dealMaxMoney之间的

值,作为顾客到银行办理业务的交易额。

2)输出:

本程序用dos界面模拟输出整个银行业务办理及排队的结果,最后给出一下数据:

①由于下班时间到而没能办理的顾客数

②分别列出需要办理两种业务的顾客数

③分别列出已成功办理两种业务的顾客数

④分别列出两种业务的成功办理率。

⑤客户在银行内的平均逗留时间

⑥下班时银行所剩余的资金总额

3)所有数据均要正确输入,并对输入合法性进行检测,如只能输入

数字,且上界必须不小于下界。

4)预计实现结果截图:

用户打开运行程序以后会出现如下的首界面:

用户按任意键继续,则会出现如下主界面:

用户选择1开始模拟。按提示输入相应的数据设置,就能得到想要的模拟结果。退出选择0.

对用户输入要求如下:

1.银行开始的资金总额应该大于零。

2.银行的营业时间必须小于1440分钟(24小时)。

3.最大到达时间间隔必须小于营业时间。

4.最小到达时间间隔必须介于零和最大到达时间之间。

5.最大处理时间必须小于营业时间。

6.最小处理时间必须介于零和最大处理时间之间。

7.最大交易额应该小于银行开始时的资金总额且小于程序设置的50000。

如果输入不符合上述要求,程序会提示用户哪里输入出错,可以再次输入。每个输入数据都有3次机会。当三次输入都错的时候,程序停止运行,按任意键退出。

现给出最小处理时间出错时的三种提示截图:

3.模块结果及各个模块的实现方法描述:

1)概要设计

结构体的定义如下:

struct service

{

int num; //客户号

string type; //到达或离开

int beginTime;//到达时间

int endTime;//离开时间

int money; //正数为存款,负数为取款

service* next;//指针域

};

2)队列的抽象数据类型定义如下:

ADT Queue{

数据对象:D={ ai | ai∈ElemSet, i=1,2,...,n, n≥0 }

数据关系:R1={ |ai-1, ai∈D, i=2,...,n }

基本操作:

void init_Q(Queue &Q);

操作结果:构造空队列Q

int Q_empty(Queue Q);

初始条件:队列Q存在

操作结果:若Q为空队列,则返回TRUE,否则FALSE

int Q_length(Queue Q);

初始条件:队列Q存在

操作结果:返回队列Q的元素个数,即队列长度

int gethead_Q(Queue Q);

初始条件:队列Q存在

操作结果:返回队列Q的队头元素

void en_Q(Queue &Q,int e);

初始条件:队列Q存在

操作结果:插入元素e为Q的新的队尾元素。

void de_Q(Queue &Q,int &e);

初始条件:队列Q存在

操作结果:删除Q的队头元素。

}ADT Queue

3)模块及相互调用关系

本程序包含3个模块:

①主程序模块

②队列模块--实现队列抽象数据类型

各模块相互调用关系如下:

主程序模块

队列模块

算法设计

4)队列类型

typedef struct QNode

{ //队列节点类型

int data;

struct QNode *next;

}QNode,*PQNode;

typedef struct {

PQNode front; //队头指针

PQNode rear; //队尾指针

}Queue;

a)队列的基本操作设置如下:

void init_Q(Queue &Q);

//初始化,构造空队列Q(Q.front=Q.rear)

int Q_empty(Queue Q);

//若队列Q存在

//若Q为空队列,则返回TRUE,否则FALSE

int Q_length(Queue Q);

//若队列Q存在

//返回队列Q的元素个数,即队列长度

int gethead_Q(Queue Q);

//若队列Q存在

//返回队列Q的队头元素

void en_Q(Queue &Q,int e);

//若队列Q存在

//插入元素e为Q的新的队尾元素。

void de_Q(Queue &Q,int &e);

//若队列Q存在

//删除Q的队头元素。

b)其中操作算法:

void init_Q(Queue &Q)

{

//初始化,构造空队列Q(Q.front=Q.rear)

Q.front=Q.rear=(PQNode)malloc(sizeof(QNode));

if(!Q.front)exit(-1);

}

int Q_empty(Queue Q)

{

//若队列Q存在

//若Q为空队列,则返回TRUE,否则FALSE

if(Q.front==Q.rear)return 1;

else return 0;

}

int gethead_Q(Queue Q)

{

//若队列Q存在

//返回队列Q的队头元素

if(!Q_empty(Q))return Q.front->next->data;

else return 0;

}

int Q_length(Queue Q)

{

//若队列Q存在

//返回队列Q的元素个数,即队列长度

int count=0;

PQNode p=Q.front;

while(p!=Q.rear)

{

count++;

p=p->next;

}

return count;

}

void en_Q(Queue &Q,int e)

{

//若队列Q存在

//插入元素e为Q的新的队尾元素。

PQNode p=(PQNode)malloc(sizeof(QNode));

if(!p)exit(-1);

p->data=e; p->next=NULL;

Q.rear->next=p;

Q.rear=p;

}

void de_Q(Queue &Q,int &e)

{

//若队列Q存在

//删除Q的队头元素

PQNode p;

if(Q.front==Q.rear)return ;

p=Q.front->next;

e=p->data;

Q.front->next=p->next;

if(Q.rear==p)Q.rear=Q.front;

free(p);

}

5)队列扫描算法

伪码:

{

if(!empry(fq)&& fq.head->money<0)

//如果队列一不空,而且队头客户办理第二种业务

{

//1.可以办,完成离开(即银行现金足够取)

//2.不可以办,排队2等候

}

else

//存款,第一种业务

if(!empty(fq) && temped= searchAndDel(sq,total)))

//当交易时间到

{

//办理该业务,并开始扫描第二队列,看是否能满足

//第二队列需要

}

if(currentime==next_arrtime )

{

//当当前时间等于即将到来的顾客到来时间,初始化

//该顾客节点,并设置下一顾客到达时间

}

}

6)其他函数算法

int rand_num(int max,int min) //随机数生成

{

//根据传进的max和min,生成介于max和min的一个//

整数

randomize();

RandSeed=Now();

return ( random(100000) % (max - min + 1) +min );

}

三、源代码:

//银行业务模拟系统

#include

#include

#include

#include

using namespace std;

struct service

{

int num; //客户号

string type; //到达或离开

int beginTime;//到达时间

int endTime;//离开时间

int money; //正数为存款,负数为取款

service* next;//指针域

};

struct queue

{ //队列

service* head;//队列头指针

service* rear;//队列尾指针

};

int total; //初始时银行现存资金总额

int closeTime; //营业结束时间

int arriveMaxTime; //两个到达事件之间的间隔上限int arriveMinTime; //两个到达事件之间的间隔下限int dealMaxTime; //客户之间交易的时间上限

int dealMinTime; //客户之间交易的时间下限

int dealMaxMoney ; //交易额上限

int ndn=0;//需要存款的人数

int nwn=0;//需要取款的人数

int sdn=0;//成功存款的人数

int swn=0;//成功取款的人数

int currentTime = 0; //当前时间

int totalTime = 0; //客户逗留总时间

int counter = 0; //客户总数

int number = 1; //初始客户序列号

bool state =1; //用于判断是否有窗口在处理

int currentTimeOfDeal = 0;

int thearriveMaxTime = 0;

queue eq; //事件队列

queue fq; //队列一

queue sq; //对列二

//初始化三个队列

service* front(queue &q)

{//返回队首元素

return q. head;

}

service* back(queue &q)

{//返回队尾元素

return q. rear;

}

void push(queue &q,int d)

{// 插入元素d为Q的新的队尾元素

service* temp = new service;

temp->money = d;

temp->next = NULL;

if(q.head==NULL)

{//队列为空,初始化

q. head = temp;

q. rear = temp;

}//if

else

{//队列不为空,插入元素d

q. rear->next = temp;

q. rear = q.rear->next;

}//else

}

void pop(queue &q)

{// 若队列不空,出对列函数

service* temp;

temp = q. head;

if(q. head->next==NULL )

q.head = q. rear =NULL;

else

q. head=q. head->next;

delete temp;

}

void arrive()

{//"到达"函数,随机产生顾客,进入队列一产生到达事件进入事件队列push(fq,(rand()% (2*dealMaxMoney) -dealMaxMoney)); //随机产生顾客加入第一队列

back(fq)->beginTime = currentTime;

back(fq)->num = number;

push(eq,(back(fq)->money)); //将产生事件加入事件队列

back(eq)->beginTime = currentTime;

back(eq)->type = "到达";

back(eq)->num = number;

++number;

}

void putMoney()

{ //"存款"函数

total += front(fq)->money; //更新资金总额

push(eq,front(fq)->money); //加入事件队列离开

back(eq)->type = "离开";

back(eq)->num = front(fq)->num;

back(eq)->endTime = (front(fq)->beginTime + rand()%(dealMaxTime-dealMinTime +1)+dealMinTime);

++counter; //更新客户总数

totalTime += (back(eq)->endTime - front(fq)->beginTime); //更新逗留时间

pop(fq); //删除第一队列第一个业务

currentTimeOfDeal = back(eq)->endTime;

state =0;

}

void getMoney()

{//"取款"函数

if( (-fq.head->money) > total )

{//资金短缺加入第二队列

push( sq,front(fq)->money );

back(sq)->beginTime = front(fq)->beginTime;

back(sq)->num = front(fq)->num;

pop(fq);

}//if

else

{

total += back(fq)->money;

push(eq,front(fq)->money); //加入事件队列离开

back(eq)->type = "离开";

back(eq)->num = front(fq)->num;

back(eq)->endTime = (front(fq)->beginTime

+rand()%(dealMaxTime-dealMinTime +1)+dealMinTime);

back(eq)->beginTime = 0;

currentTimeOfDeal = back(eq)->endTime;

++counter; //更新客户总数

totalTime += ( back(eq)->endTime - back(fq)->beginTime ); //更新逗留时间

pop(fq); //删除第一队列第一个业务

state =0;

}//else

}

service* searchAndDel(queue &q,int m)

{//"搜索"函数,在对列中寻找可处理元素

service* sign = q. head; //标记头节点

service* temp;

while(q. head!=NULL )

{

if((-(q. head->money))

{//队首元素可以处理

if(q. head==q.rear)

{

temp = q. head;

q. head = q. rear = NULL;

return temp;

}//if

else

{//队首元素出列

temp = q. head;

q. head = q. head->next; // 首节点后移一位,返回原首节点

return temp;

}//else

}//while

else

{//队首元首不能被处理

if(q. head == q. rear){}

else

{//首节点移到队列尾部

q. rear->next = q. head;

q. rear = q. rear->next;

q. head =q. head->next;

q. rear->next = NULL;

}//else

}//else

if(q. head == sign)//队列循环一周时停止

return NULL;

}

return NULL;

}

service* temped ;

int randomTemp;

void findAndDeal()

{//"处理"函数在对列中寻找可处理元素,对其进行处理while( (temped= searchAndDel(sq,total))&&temped!=NULL )

{//查找可处理取款

total += temped->money; //更新资金总额

push(eq,temped->money); //加入事件队列离开

back(eq)->type = "离开";

back(eq)->num = temped->num;

randomTemp = rand()%(dealMaxTime-dealMinTime +1)+dealMinTime;

back(eq)->endTime = currentTime + randomTemp ;

currentTimeOfDeal += randomTemp;

++counter; //更新客户总数

totalTime += ( back(eq)->endTime - temped->beginTime ); //更新逗留时间

delete temped; //删除节点

temped = NULL;

}

state = 0;

}

int main()

{

printf(" ********************************************\n");

printf(" ********************************************\n");

printf(" ********************************************\n");

printf(" *** *** 学院:信息工程学院\n");

printf(" *** ***\n");

printf(" *** ***\n");

printf(" *** *** 专业:计算机科学与技术\n");

printf(" *** ***\n");

printf(" *** ***\n");

printf(" *** 欢迎进入银行模拟系统*** 班级:061\n");

printf(" *** ***\n");

printf(" *** ***\n");

printf(" *** *** 姓名:邱雨田\n");

printf(" *** ***\n");

printf(" *** ***\n");

printf(" *** *** 学号:6103106020\n");

printf(" ********************************************\n");

printf(" ********************************************\n");

printf(" ********************************************\n");

printf("\n");

printf("\n");

printf("\n");

printf("请按任意键继续......\n");

getch();

int i;

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

printf("\n");

printf(" ********************************************\n");

printf(" ********************************************\n");

printf(" ********************************************\n");

printf(" *** 1.开始模拟***\n");

printf(" *** 0.退出***\n");

printf(" ********************************************\n");

printf(" ********************************************\n");

printf(" ********************************************\n");

int n,t1=0,t2=0,t3=0,t4=0,m=0;

scanf("%d",&n);

while(n==1)

{

srand(time(NULL)); //初始化随机函数

printf("请输入银行的初始存款:\n");

scanf("%d",&total);

if(total<0)

{

printf("输入错误!初始存款不能小于0!请再次输入!\n");

printf("请输入银行的初始存款:\n");

scanf("%d",&total);

if(total<0)

{

printf("输入错误!初始存款不能小于0!请最后一次输入!\n");

printf("请输入银行的初始存款:\n");

scanf("%d",&total);

if(total<0)

{

printf("三次输入都错误!请按任意键退出!\n");

getch();

printf("请按任意键退出!\n");

goto end;

}

}

}

printf("请输入银行的营业时间:\n");

scanf("%d",&closeTime);

if(closeTime>=1440)

{

printf("输入错误!一天的营业时间不能超过1440分钟(24个小时)!请再次输入!\n");

printf("请输入银行的营业时间:\n");

scanf("%d",&closeTime);

if(closeTime>=1440)

{

printf("输入错误!一天的营业时间不能超过1440分钟(24个小时)!请最后一次输入!\n");

printf("请输入银行的营业时间:\n");

scanf("%d",&closeTime);

if(closeTime>=1440)

{

printf("三次输入都错误!请按任意键退出!\n");

getch();

printf("请按任意键退出!\n");

goto end;

}

}

}

printf("请输入最大到达时间间隔:\n");

scanf("%d",&arriveMaxTime);

if(arriveMaxTime>closeTime)

{

printf("输入错误!最大到达时间间隔必须小于营业时间!请再次输入!

\n");

printf("请输入最大到达时间间隔:\n");

scanf("%d",&arriveMaxTime);

if(arriveMaxTime>closeTime)

{

printf("输入错误!最大到达时间间隔必须小于营业时间!请最后一

次输入!\n");

printf("请输入最大到达时间间隔:\n");

scanf("%d",&arriveMaxTime);

if(arriveMaxTime>closeTime)

{

printf("三次输入都错误!请按任意键退出!\n");

getch();

printf("请按任意键退出!\n");

goto end;

}

}

}

printf("请输入最小到达时间间隔:\n");

scanf("%d",&arriveMinTime);

if(arriveMinTime<=0 || arriveMinTime>=arriveMaxTime)

{

printf("输入错误!最小到达时间间隔必须介于零和最大到达时间之间!

请再次输入!\n");

printf("请输入最小到达时间间隔:\n");

scanf("%d",&arriveMinTime);

if(arriveMinTime<=0 || arriveMinTime>=arriveMaxTime)

{

printf("输入错误!最小到达时间间隔必须介于零和最大到达时间之

间!请最后一次输入!\n");

printf("请输入最小到达时间间隔:\n");

scanf("%d",&arriveMinTime);

if(arriveMinTime<=0 || arriveMinTime>=arriveMaxTime)

{

printf("三次输入都错误!请按任意键退出!\n");

getch();

printf("请按任意键退出!\n");

goto end;

}

}

}

printf("请输入最大的处理时间:\n");

scanf("%d",&dealMaxTime);

if(dealMaxTime>closeTime)

{

printf("输入错误!最大处理时间必须小于营业时间!请再次输入!\n");

printf("请输入最大的处理时间:\n");

scanf("%d",&dealMaxTime);

if(dealMaxTime>closeTime)

{

printf("输入错误!最大处理时间必须小于营业时间!请最后一次输

入!\n");

printf("请输入最大的处理时间:\n");

scanf("%d",&dealMaxTime);

if(dealMaxTime>closeTime)

{

printf("三次输入都错误!请按任意键退出!\n");

getch();

printf("请按任意键退出!\n");

goto end;

}

}

}

printf("请输入最小的处理时间:\n");

scanf("%d",&dealMinTime);

if(dealMinTime<=0 || dealMinTime>=dealMaxTime)

{

printf("输入错误!最小处理时间必须介于零和最大处理时间之间!请再次输入!\n");

printf("请输入最小的处理时间:\n");

scanf("%d",&dealMinTime);

if(dealMinTime<=0 || dealMinTime>=dealMaxTime)

{

printf("输入错误!最小处理时间必须介于零和最大处理时间之间!

请最后一次输入!\n");

printf("请输入最小的处理时间:\n");

scanf("%d",&dealMinTime);

if(dealMinTime<=0 || dealMinTime>=dealMaxTime)

{

printf("三次输入都错误!请按任意键退出!\n");

getch();

printf("请按任意键退出!\n");

goto end;

}

}

}

printf("请输入交易额的最大上限:\n");

scanf("%d",&dealMaxMoney);

if(dealMaxMoney>=total || dealMaxMoney>50000)

{

printf("输入错误!超出本银行的服务范围!最大交易额应低于银行开始营业时的资金总额且小于50000!请再次输入!\n");

printf("请输入交易额的最大上限:\n");

scanf("%d",&dealMaxMoney);

if(dealMaxMoney>=total || dealMaxMoney>50000)

{

printf("输入错误!超出本银行的服务范围!最大交易额应低于银行

开始营业时的资金总额且小于50000!请最后一次输入!\n");

printf("请输入交易额的最大上限:\n");

scanf("%d",&dealMaxMoney);

if(dealMaxMoney>=total || dealMaxMoney>50000)

{

printf("三次输入都错误!请按任意键退出!\n");

getch();

printf("请按任意键退出!\n");

goto end;

}

}

}

thearriveMaxTime +=rand()%(arriveMaxTime-arriveMinTime + 1)+arriveMinTime; //首次到达时间

while(currentTime < closeTime)

{

++currentTime;

if( currentTimeOfDeal < currentTime ) currentTimeOfDeal = currentTime ;

if( currentTimeOfDeal == currentTime ) state = 1;

if( currentTime == thearriveMaxTime ) //到达事件

{

arrive();

thearriveMaxTime +=rand()%(arriveMaxTime-arriveMinTime +

1)+arriveMinTime;

}//if

if( state == 1 && fq.head!=NULL )

{

if(fq.head->money >= 0)

{

putMoney();//调用存款函数

findAndDeal();//调用搜索处理函数

ndn++;

}//if

else

{

getMoney();//调用取款函数

nwn++;

}//else

}//if

}

printf("客户序列事件类型时间处理金额\n"); while( eq.head!=NULL ) //清除事件队列

{

if(eq.head->type=="离开")

{

printf("%d 离开%d %d\n",eq.head->num, eq.head->endTime,eq.head->money);

if(eq.head->money>=0) t1++;

else t3++;

}

else

{

printf("%d 到达%d %d\n",eq.head->num, eq.head->beginTime,eq.head->money);

if(eq.head->money>=0) t2++;

else t4++;

}

sdn=ndn-(t2-t1);

swn=nwn-(t4-t3);

pop(eq);

}

printf( "未处理客户:\n");

while( fq.head!=NULL )

{

totalTime += ( closeTime - fq.head->beginTime ); //更新结束时第一队列中

未处理的客户

if(m%10!=0) printf("%d ",fq.head->num);

else { printf("\n"); printf("%d ",fq.head->num); }

++counter;

m++;

pop(fq);

}//while

if(m==0) printf("无未处理客户\n");

printf("\n");

printf("需要存款的客户人数:%d\n",ndn);

printf("需要取款的客户人数:%d\n",nwn);

printf("成功办理存款的客户人数:%d\n",sdn);

printf("成功办理取款的客户人数:%d\n",swn);

printf("存款成功办理率:%f\n",float(sdn*100/ndn));

printf("取款成功办理率:%f\n",float(swn*100/nwn));

printf("客户逗留平均时间为:%f\n",float(totalTime/counter));

printf("银行当前余额:%d\n",total);

printf("请按任意键退出!\n");

break;

}//while(n==1)

if(n==0) printf("请按任意键退出!\n");

end:getch();

return 0;

}//main()

四、总结:

1.调试分析:在做队列的扫描算法时,发现运行演示的效果很奇怪,经过仔细

检查和阅读题目,终于发现是我的理解有误。在处理顾客的第一种业务(从银行取出一笔钱)时,我没有特殊处理,仅是和处理第二种一样,即是等到该顾客交易时间结束时才开始判断,如果不够取进入第二队列等候。但题目中有“如果属于第一种,且申请额超出银行现存资金总额而得不到满足,则立刻排入第2个队等候,直至满足时才离开银行,否则业务处理完后立刻离开银行”。想想这也是符合实际。于是改算法的判断为以下算法:

伪码:

{

if(!empry(fq)&& fq.head->money<0)

//如果队列一不空,而且队头客户办理第二种业务

{

//1.可以办,完成离开(即银行现金足够取)

//2.不可以办,排队2等候

}

else

//存款,第一种业务

if(!empty(fq) && temped= searchAndDel(sq,total)))

//当交易时间到

{

//办理该业务,并开始扫描第二队列,看是否能满足//第二队列需要

}

if(currentime==next_arrtime )

{

//当当前时间等于即将到来的顾客到来时间,初始化//该顾客节点,并设置下一顾客到达时间

}

}

2.对于怎样计算已办理顾客的人数,一直没成功,最后在主函数中调用存款,

取款函数中计算,才完成。

此时可以输入相应数据:

a)银行初始资金total(测试数据为10000)

b)银行营业时间closetime(测试数据为600)

c)客户交易时间上下界dealmaxtime和dealmintime

d)客户到达时间间隔上下界arrivemaxtime和

arrivemintime

e)交易额的上限dealmaxmoney.

f)程序模拟结束

最后给出一下数据:

a)由于下班时间到而没能办理的顾客数

b)分别列出需要办理两种业务的顾客数

c)分别列出已成功办理两种业务的顾客数

d)分别列出两个窗口办理业务的效率

e)客户在银行内的平均逗留时间

f)下班时银行的剩余总额。

测试结果:

正确输入并开始模拟运行:

①输入一般数据:

a)银行初始资金total=10000

b)银行营业时间closetime=600

c)客户到达时间间隔上界arrivemaxtime=10和arrivemintime=5

d)客户交易时间上界dealmaxtime=10和dealmintime=5

银行业务知识学习

1信贷部分 2自己学习 2.1 我国金机融构体系框架 信息来源:https://www.360docs.net/doc/e711034606.html,/view/132432.htm 按我国金融机构的地位和功能进行划分,主要体系如下: 中央银行。中国人民银行是我国的中央银行,1948年12月1日成立。中国人民银行与中国银行的主要区别为:中国人民银行是政府的银行、银行的银行、发行的银行,不办理具体存贷款业务; 金融监管机构。证监会、银监会、保监会 国家外汇管理局。成立于1979年3月13日,当时由中国人民银行代管; 2.2 贷款五级分类 1998年5月,中国人民银行参照国际惯例,结合中国国情,制定了《贷款分类指导原则》,要求商业银行依据借款人的实际还款能力进行贷款质量的五级分类,即按风险程度将贷款划分为五类:正常、关注、次级、可疑、损失,后三种为不良贷款 1998年以前,中国商业银行的贷款分类办法基本上是沿袭财政部1998年颁布的《金融保险企业财务制度》中的规定把贷款划分为正常、逾期、呆滞、呆账四种类型,后三种合称为不良贷款,在我国简称―一逾两呆‖。 2.3 建立客户信用制度 根据客户信用管理的5c制度,即资金(capital)、品行(character)、能力(capacity)、担保(collateral)、现状(condition)五个方面建立相应的客户信用制度。 2.4 资本充足率 资本充足率("CAR")是衡量一个银行的资本对其加权风险比例的以百分比表示的量。CAR定义为:CAR=资产/风险

如果使用加权资产风险,那么 CAR = {T1 + T2}/a ≥ 8%.[1] 银行A的加权资产风险计算如下: 现金10 * 0% = 0 政府债券15 * 0% = 0 抵押贷款20 * 50% = 10 其他贷款50 * 100% = 50 其他资产 5 * 100% = 5 总加权资产风险65 所有者权益 5 核心资产充足率(T1/加权资产风险) =7.69% 2.5 资产负债表(the Balance Sheet) 资产负债表(the Balance Sheet)亦称财务状况表,表示企业在一定日期(通常为各会计期末)的财务状况(即资产、负债和业主权益的状况)的主要会计报表。 具体排列形式又有两种:一是按―资产=负债+所有者权益‖的原理排列;二是按―资产-负债=所有者权益‖的原理排列 资产负债表是以"资产=负债+所有者权益"这一等式为理论基础的,据此可以分析公司的财务状况。 资产负债表的编制格式有账户式、报告式和财务状况式三种。 2.6 存款余额(the balance of deposits) 存款余额是指商业银行在截止到某一日以前的存款总和,包括储蓄和对公的活期存款、定期存款、存放同业及存放中央银行等的存款之和。 最低存款余额是指企业存放在银行的低息或无息存款。 日均存款余额是指收费统计期内同一账户每日存款余额之和除以统计期内天数所得的金额,即统计期内每天存款余额的平均数。 2.7 贷款余额 贷款余额指至某一节点日期位置,借款人尚未归还放款人的贷款总额。 银行的考核指标中有存贷比,即贷款余额与存款余额之比不能超过75%,否则就会违规,并存在很大风险,存款余额为负债指标,贷款余额为资产指标。 即短缺贷款或长期贷款科目的贷款余额=前期贷款余额+本期贷方发生额(融资增加数)-借方发生额(偿还贷款数)。

商业银行综合业务模拟实习

商业银行综合业务模拟实习 一、实习目的 本实习在《金融学》《金融市场学》、《经济学》、《商业银行经营管理》等专业课程基础上设置的综合性实践环节。实习为学生提供了了解商业银行经营管理实务操作的机会。通过商业银行综合业务模拟操作系统的学习,使得同学了解商业银行个人和对公各类业务的操作流程,熟练运用商业银行管理知识,熟悉商业银行的运行规律,并且提升在银行业的实际工作能力。本实习是专业教学的重要组成部分。 二、实习内容 1、商业银行管理理论在实习操作中的运用 2、商业银行对公业务的操作 3、商业银行私人业务的操作 4、商业银行风险管理的操作 三、实习的组织形式及时间 本实习采用校内实验室实习方式。学生在掌握了商业银行经营管理课程理论知识的前提之下,学生可以在校内的金融实验室进行商业银行综合业务的操作,其中包括个人储蓄业务、对公会计业务以及、信息的查询、对公存贷业务;与此同时,还安排让学生在校内的图书馆和资料室查阅我国商业银行的统计数据和有关经济政策的时间。使得学生将所学的银行理论知识与商业银行综合业务管理系统相结合,使得学生理解所学的银行理论知识与实际应用系统的联系,培养学生分析问题和解决问题的能力。四、实习步骤

1.了解商业银行综合业务操作系统 2.商业银行个人业务操作 3.商业银行对公业务操作 4.商业银行报表管理系统操作 5.商业银行信贷业务及风险管理系统操作 五、实习报告/论文 实习报告/论文可以包括内容之一: 1、商业银行综合业务的流程; 2、商业银行的个人业务操作总结; 3、商业银行对公业务的操作总结; 4、对于整个实习课程的体会和建议 实验报告要求资料真实、准确、完整,用A4纸,4号宋体字打印,学校统一封面装订,必须附带操作过程的图表。 六、实习报告/论文内容 1、商业银行综合业务的流程; 1)登陆2)增加钱箱 3)普通活期客户录入 4)凭证领用5)凭证出库

银行业务活动模拟--数据结构

题目:银行业务活动的模拟 C++编写 VS2008调试 1.题目要求 假设某银行有4个窗口对外接待客户,从早晨银行开门起不断有客户进入银行,由于每个窗口在某个时刻只能接待一个客户。因此在客户人数众多时需要在每个窗 口前顺次排队,对于刚进入银行的客户。如果某个窗口的业务员正空闲,则可上前 输业务。反之,若个窗口均有客户所占,他便会排在为数最少的队伍后面。编制一 个程序模拟银行的这种业务活动并计算一天中客户在银行的平均逗留时间。 2.实现功能 功能要求: 1).实现数据的输入; 2).各个窗口数据的访问和输出; 3)当前窗口的人员分布情况动态显示。 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功 能要求。 存储结构:学生自己根据系统功能要求自己设计。请在最后的上交资料中指明你用 到的存储结构; 总体设计 从题目要求不难得出,银行排队是典型的队列操作,4个窗口就是四个队列,客户的进出就是出队,入队操作,客户窗口的选择,以及平均逗留时间可以对队列的长度进行相应计算得出。 因此,可以设计两个类,一个队列类,四个窗口就是四个队列对象,一个数据类,用于对客户排队编号的文件读取,写入,计算逗留时间。通过两个类的连接,实现数据的输入,动态显示。 代码部分: //bank.h #include"iostream" #include"fstream" using namespace std;

intconst SIZE=100; struct node { intnum; node *next; }; class link { public: link(); void add(intnum); void dele(); void print(); intr_count(); node* r_head(); intr_rear(); private: node *head,*rear,*front; int count;

银行分行柜员业务知识考试题(A卷)

工商银行分行柜员业务知识考试题(A卷) (说明:本试题考试时间90分钟,满分100分)工作单位:____姓名:____成绩:____ 一、单项选择题(请从提供的ABCD答案中选择一个正确的答案填在括号中,每题选择正确的得1分,不选、多选均不得分,20题共20分) 1、柜员钱箱实行限额管理,营业终了柜员的钱箱余额不得超过(B)。 A、1万元 B、2万元 C、10万元 D、20万元 2、以下(D)证件不可以作为实名制证件办理银行业务。 A、身份证 B、护照 C、军官证 D、香港身份证 3、柜员权限卡的密码,必须不定期修改,最长时间不得超过(B)。 A、10天 B、15天 C、30天 D、5天 4、当客户拿港币现钞到我行要求兑换人民币,作结汇交易时应选用(C)。 A、浮动汇率 B、特殊汇率 C、标准汇率 D、汇率 5、目前我行采用的结算方式主要有票据、银行卡、汇兑、托收承付、委托收款等,其中票据指(A)三种。 A、支票、汇票和本票 B、现金支票、转账支票和汇票 C、电子汇兑、电汇和汇票 D、支票、汇票和银行承兑汇票 6、单位客户因借款或其他结算需要,在基本存款帐户开户行以外的营业网点开立的银行结算帐户是(B )。 A、基本存款帐户 B、一般存款帐户 C、专用存款帐户 D、临时存款帐户

7、临时存款账户的有效期限应根据开户证明文件确定的期限或单位客户的需要确定,最长不得超过(B )。 A、1年 B、2 年 C、5年 D、10年 8、单位从其银行结算账户支付给个人银行结算账户的款项,每笔超过(B )的,应向其开户银行提供有关付款依据。 A、1 万元 B、5万元 C、10万元 D、20万元 9、单位负责人和总会计对本单位的空白重要凭证的保管情况和领用手续(B)至少要检查一次。 A、每周 B、每月 C、每季 D、每年 10、银行受理法院、检察院、公安机关等有权部门冻结存款人帐户时,冻结期限为(C ),冻结期满若无办理续冻手续,则视为自动撤销冻结。 A、一年 B、九个月 C、六个月 D、三个月 11、办理开立单位帐户时,必须做到( A )三分离。 A、受理、审核、操作 B、印、押、证 C、受理、主办、审核 D、经办、受理、审核 12、根据人民银行《关于大额现金支付管理的通知》的要求,单位客户一次性提取现金人民币(C )以上的,必须提前一天以电话等方式预约。 A、5万元 B、10万元 C、20万元 D、50万元 13、根据人行和国家外管局的相关规定,对个人结汇和境内个人购汇的年度总额为( B )万元。 A、2万元 B、5万元 C、10万元 D、1万元 14、根据11月27日实施的单位银行结算账户集中管理办法,办理开销户业务,

银行系统模拟

数 据 结 构 实 验 报 告 实验3:银行业务模拟系统姓名:范亚平 年级:2010级 学号:1008114061 专业:计算机科学与技术专业(1)班

数据结构实验报告 一、实验目的: 1)通过实验掌握对离散事件模拟的认识; 2)进一步理解队列的实现与应用; 3)对链表的操作有更深层次的理解; 二、实验条件: 学院提供公共机房,1台/学生微型计算机。 三、实验要求: 1问题描述: 假设某银行有四个窗口对外接待客户,从早晨银行开门起不断有客户进入银行。由于每个窗口在某个时刻只能接待一个客户,因此在客户人数众多时需在每个窗口前顺次排队,对于刚进入银行的客户,如果某个窗口的业务员正空闲,则可上前办理业务,反之,若四个窗口均有客户所占,他便会排在人数最少的队伍后面。现在需要编制程序以模拟银行的这种业务活动并计算一天中客户在银行逗留的平均时间。 2.一个完整的系统应具有以下功能: 1)初始化(OpenForDay),模拟银行开门时各数据结构的状态。 2事件驱动(EventDrived), 对客户到达和离开事件做相应处理。 3下班处理(CloseForDay), 模拟银行关门时的动作,统计客户平均逗留时间。 [备注]: 假设银行开门的时刻(间)设为0 , 银行每天营业的时间在程序运行时输入(例如480分钟)。 每个客户办理业务的时间不超过30分钟,两个相邻客户到达银行的时间间隔不超过5分钟要求程序执行时,只要给出银行每天的营业时间即可输出客户平均逗留的时间。四、总的设计思想: 为了计算这个平均的逗留时间,自然需要知道每个客户到达银行和离开银行这两个时刻,后者减去前者即为每个客户在银行的逗留时间。所有客户逗留时间的总和被一天内进入银行的客户数除便是所求的平均时间。称客户到达银行和离开银行这两个时间发生的事情为“事件”,则整个模拟程序将按事件的先后顺序进行处理。这样一种程序称做事件驱动模拟。下面是上述银行客户的离散事件驱动的模拟算法。 void Bank_Simulation( int CloseTime ){ // OpenForDay ( ); //初始化,模拟银行开门时各数据结构的状态。 while(有要处理的事件时) //有事件可处理 { EventDrived ; //事件驱动,从事件表中取出事件en; //根据en的类型(客户到达事件或客户离开事件)做相应的处理

商业银行业务模拟

CHANGZHOU INSTITUTE OF TECHNOLOGY 《商业银行业务模拟》课程作业 题目:《商业银行业务模拟》总结 二级学院(直属学部): 数理与化工学院 专业: 数学与应用数学 班级: 15数学 学生姓名: 胡子炎 学号: 15090112 指导教师姓名: 余敏丽 职称: 讲师 评阅教师姓名: 余敏丽 职称: 讲师 2018年1月 KC020-1

实践地点:瑶光楼B308机房; 实践内容:通过《商业银行模拟软件》来进行扮演综合角色、普通柜员角色来开展各项业务(活期储蓄业务,整存整取业务,通知储蓄业务,定活两便业务,借记卡业务,贷记卡业务,代理中间业务,储蓄特殊业务,现金业务,本表业务,汇票业务,汇兑业务,委托收款业务,单位活期存款业务,单位定期存款业务,单位通知存款业务,单位其他存款业务,个人贷款业务,单位贷款业务,进口信用证业务,出口信用证业务)等二十一个业务。; 实习目的:通过模拟银行实习,使同学们了解商业银行各项业务的具体办理流程,除此以外,加深同学们对所学的有关商业银行知识的理解,加强对所学知识的掌握程度。 实验一:活期储蓄业务 操作流程: 一.存折开户:1.进入操作界面。2.到机房完成开机操作。3.点击对私柜台,进入业务操作界面,完成签到工作。4.点击受理新业务牌,查看客户递交的凭证及钱钞,接受客户业务申请,开始办理活期存款业务,办理成功后,将凭证递交客户,接受业务。开始下一业务操作。 二.一本通开户:1:受理业务。2.查看客户递交的凭证和钱钞,无误接受业务。 3.在财务箱中取出活期一本通。 4.点击电脑进行综合业务操作,根据界面填写客户信息,完成综合业务操作,活期开户成功。 5.储蓄开户凭条盖章。 6.盖章成功递交客户,凭证放入单据箱,钱钞放入钱箱,结束业务。 三.存折续存:1.受理业务。2.查看桌面凭证和桌面钱钞,接受业务。3.进行综合业务操作,活期续存提交成功。4.请客户签名,存款凭条盖章,盖章完成递交客户。凭证放入单据箱,钱钞放入钱箱。结束业务。

J银行柜面业务流程分析与优化

河北工业大学硕士学位论文 目录 摘要 ................................................................................................................................. I 第一章绪论 (1) 1.1选题背景 (1) 1.2选题意义 (1) 1.3文献综述 (2) 1.3.1精细化管理研究 (2) 1.3.2银行业效率研究 (3) 1.4研究目标 (3) 1.5研究思路与研究方法 (4) 1.5.1研究思路 (4) 1.5.2研究方法及技术路线 (4) 1.6研究重点与创新点 (5) 1.6.1研究重点 (5) 1.6.2创新点 (5) 第二章J银行柜面操作现状 (7) 2.1J银行柜面操作一日流程 (7) 2.1.1工前准备阶段 (7) 2.1.2工间操作阶段 (9) 2.1.3工终整理阶段 (10) 2.2J银行某分行柜面操作现状分析 (12) 2.2.1从全行整体分析 (12) 2.2.2从柜员自身分析 (12) 2.2.3从作业活动性质分析 (13) 第三章J银行柜面操作流程优化实践 (15) 3.1精益管理理念和日清日轻精益工作法 (15) 3.1.1精益管理理念 (15) 3.1.2日清日轻精益工作法 (15) 3.2解决工前浪费问题 (16) 3.2.1 6S管理 (16) III

J银行柜面业务流程分析与优化 IV 3.2.2规范开箱领包环节 (19) 3.3解决工间操作问题 (20) 3.3.1时间管理和标准作业时间 (20) 3.3.2动作经济原则和标准作业动作 (24) 3.3.3标准作业工序和流程 (28) 3.3.4标准业务处理 (30) 3.3.5实施网点综合化建设,解决客流高峰期问题 (31) 3.3.6优化授权处理环节 (32) 3.4解决工终作业问题 (32) 3.4.1科学流水勾对法 (32) 3.4.2 TPM全员设备维护 (33) 3.5控制质量的隐形浪费 (34) 第四章J银行柜面流程业务优化及实效 (37) 第五章结论及展望 (41) 参考文献 (43) 致谢 (45)

银行知识考试试题

一、填空 1、农村信用社以安全性、效益性、流动性为经营原则,以法人为单位实行独立核算、自主经营、自担风险、自负盈亏、自我约束。 2、信用社收入、成本、费用的确认,应遵循权责发生制原则。 3、所有者权益包括实收资本、资本公积、盈余公积和未分配利润。 4、信用社的固定资产净值与在建工程之和占所有者权益(不含未分配利润)比例最高不得超过50%。 5、信用社的营业收入包括利息收入、金融机构往来收入、手续费收入、其他营业收入。 6、次日及本年内发现的帐务差错,应填制红蓝字凭证办理冲正。 7、责任事故错款应按长款归公、短款自赔的原则处理 8、信用社会计核算以人民币为记帐本位币,人民币业务以元为记帐单位。 9、帐务组织分为明细核算和综合核算。综合核算由总帐、科目日结汇总表、业务状况日报表构成。明细核算由分户帐、登记簿、余额表构成。 10、信用社在统一会计期间内的各项收入和与其相关的成本、费用,须在该区间确认。是配比性原则。 11、计息方法分为积数计息法、逐笔计息法。 12、帐务核对分为每日核对、定期核对、不定期核对。 13、会计记帐法按复式记帐原理,采用借贷记帐法。以会计科目为主体,以借、贷为记帐符号,有借必有贷,借贷必相等。 14、会计凭证包括原始凭证和记帐凭证,记账凭证又分为基本凭证和特定凭证。 15、会计职业道德的基本工作准则是诚实守信。 16、会计要素包括资产、负债、所有者权益、收入、费用和利润。 17、所有者权益是信用社全部资产减去全部负债的净额,就是信用社的净资产。 18、会计科目按照业务特点需要,划分为表内科目和表外科目。 19、会计凭证传递原则:准确及时、手续严密、安全可靠、先外后内、先急后缓 20、会计凭证必须按日或定期装订,定期装订期限最长不得超过7 天。传票装订厚度原则上为3—5公分。 21、会计检查内容包括:帐务检查、业务检查、财务检查。 22、会计检查方式分为:全面检查和专项检查、定期检查和不定期检查、现场检查和非现场检查。 23、会计分析的方法有:比较分析法、因素分析法、结构分析法。 24、会计档案的保管期限分为:永久保管和定期保管两种。定期保管的会计档案分为15年和5年两种。 25、信用社内勤主任或会计主管的交接,由主任会同管辖联社会计主管或指定人员监交。 26、商业银行应当按照中国人民银行的规定,向中国人民银行交存存款准备金,留足备付金。 27、商业银行贷款,应当遵守下列资产负债比例管理的规定:1.资本充足率不得低于百分之八;2.贷款余额与存款余额的比例不得超过百分之七十五;3.流动性资产余额与流动性负债余额的比例不得低于百分之二十五。 28、商业银行法共九章九十五条,自1995年7月1日起施行。 29、会计年度自公历1月1日起到12月31日止。 30、从事会计工作的人员,必须取得会计从业资格证书。 31、会计法共七章,五十二条,自2000年7月1日起施行。 32、票据法所称票据,是指汇票、本票和支票。

实验报告银行业务模拟系统的设计与实现(1)

数据结构实验报告 银行业务模拟系统的设计与实现(该实验为综合性实验,共用6个学时)二、实验要求: 1.问题描述: 假设某银行有四个窗口对外接待客户,从早晨银行开门起不断有客户进入银行。由于每个窗口在某个时刻只能接待一个客户,因此在客户人数众多时需在每个窗口前顺次排队,对于刚进入银行的客户,如果某个窗口的业务员正空闲,则可上前办理业务,反之,若四个窗口均有客户所占,他便会排在人数最少的队伍后面。现在需要编制程序以模拟银行的这种业务活动并计算一天中客户在银行逗留的平均时间。 2.一个完整的系统应具有以下功能: 1)初始化(OpenForDay),模拟银行开门时各数据结构的状态。 2)事件驱动(EventDrived), 对客户到达和离开事件做相应处理。 3)下班处理(CloseForDay), 模拟银行关门时的动作,统计客户平均逗留时间。 [备注]: 假设银行开门的时刻(间)设为0 , 银行每天营业的时间在程序运行时输入(例如480分钟)。 每个客户办理业务的时间不超过30分钟,两个相邻客户到达银行的时间间隔不超过5分钟要求程序执行时,只要给出银行每天的营业时间即可输出客户平均逗留的时间。 三、总的设计思想、环境语言、工具等 总的设计思想: 为了计算这个平均的逗留时间,自然需要知道每个客户到达银行和离开银行这两个时刻,后者减去前者即为每个客户在银行的逗留时间。所有客户逗留时间的总和被一天内进入银行的客户数除便是所求的平均时间。称客户到达银行和离开银行这两个时间发生的事情为“事件”,则整个模拟程序将按事件的先后顺序进行处理。这样一种程序称做事件驱动模拟。下面是上述银行客户的离散事件驱动的模拟算法。 void Bank_Simulation( int CloseTime ){ // OpenForDay ( ); //初始化,模拟银行开门时各数据结构的状态。 while(有要处理的事件时) //有事件可处理 { EventDrived ; //事件驱动,从事件表中取出事件en; //根据en的类型(客户到达事件或客户离开事件)做相应的处理 if(en表示客户到达) CustomerArrived( );// 处理客户到达事件 else CustomerDeparture( ) ;// 处理客户离开事件 }//while CloseForDay( );//计算客户的平均逗留时间 }// Bank_Simulation 环境语言:Windows下的Microsoft VC++ 四、数据结构与模块说明 下面是模拟程序中需要的数据结构及其操作。

银行柜面业务流程优化教学文稿

银行柜面业务流程优 化

目录 一、商业银行柜面业务流程现状 (5) (一)信息系统“部门化” (5) (二)产品“多样化” (5) (三)后台管理“重复化” (5) (四)业务流程和管理模式“传统化” (5) (五)会计核算“分散化” (5) 二、商业银行柜面业务流程中存在的问题及成因 (5) (一)商业银行柜面业务流程中存在的问题: (5) (二)商业银行柜面业务流程问题的成因 (6) 三、商业银行柜面业务流程改造的具体对策 (7) (一)循序渐进推进柜面业务流程再造 (7) (二)调研梳理现行主要业务流程,调整优化制约流程再造的规章、技术 (7) (三)大力实施柜面业务分流,降低柜面工作负荷 (7) (四)按照“流程银行”的要求,重构运营组织体系 (7) (五)树立科学的操作风险管理理念,促进柜台业务流程再造 (8) (六)撤并低效网点,灵活用工机制,改善网点人员构成 (8) (七)以技术手段促进网点业务流程再造 (8)

一、商业银行柜面业务流程现状 从目前来看,现有商业银行柜面业务流程的现状表现出“五化”特征: (一)信息系统“部门化” 目前网点柜面运行综合应用系统(ABIS)、会计监控系统(ARMS)、会计内控管理系统、外汇业务系统和综合办公信息系统等各成体系,分别隶属于会计、国际业务、办公室等不同部门管理。 (二)产品“多样化” 产品设计分散在各部门,而且每一部门推出的产品往往伴随一套新的业务凭证和合同文本,缺乏统一规范和整合,表现为“处理环节多、操作规程多、报表凭证多”。 (三)后台管理“重复化” 各管理部门根据专业管理或统计需要,往往设计了名目繁多的登记簿或报表。柜面各类登记簿有20多种,有的内容可以通过系统自动提取,有的已失去存在的现实意义但按规定仍需手工登记,重复劳动明显,占用了柜员的宝贵时间。 (四)业务流程和管理模式“传统化” 现代商业银行业务流程和管理模式基本上沿用了传统的处理方式,偏重于风险控制和账务处理,以机器模拟手工处理的局面未根本改观。 (五)会计核算“分散化” 网点兼有前后台功能,专业化特色不明显,除了在做好服务和营销的本职外,还承担了大量的会计核算业务,会计记账单位分散,监控和管理难度大。 伴随信息化和金融自由化时代的到来,金融产品的综合性和复杂性日益提高,片段化的银行业务流程框架越来越难以满足市场需求。 二、商业银行柜面业务流程中存在的问题及成因 (一)商业银行柜面业务流程中存在的问题: 1、低效业务和客户充斥网点柜面业务。从业务分布结构上看,当前银行柜面业务以低价值、高频次的简单低效业务为主,附加值相对较高的资产业务和外汇业务占比最小,仅分别占0.03%、0.25%;从客户分布结构上看,低效客户

银行金融基础知识考试题库完整

银行金融基础知识考试题库 1.【4952】下列商业银行的管理理论主动进取特点最明显的是()。 A.资产管理 B.负债管理 C.资产负债综合管理 D.资产负债比例管理 【答案】: B 2.【4954】某固定利率债券为到期一次还本付息,余期一年,以102元的价格买入并持有到期,到期收益率为10%;若其它条件均相同,但余期为2年,买入并持有到期,则到期收益率( )。 A. >10% B. <10% C. =10% D.不能确定 【答案】: A 3.【4967】银行提供的储蓄服务的基本形式是()。 A.柜台服务 B.银行卡服务

C.网上银行服务 D.电话银行服务 【答案】: A 4.【4975】我国代表国家制定和执行货币政策的是()。 A.政策性银行 B.财政部 C.银监会 D.中国人民银行 【答案】: D 5.【4976】承担我国农业政策性贷款任务的政策性银行是()。A.中国农业发展银行 B.中国农业银行 C.中国工商银行 D.中国国家开发银行 【答案】: A

6.【4978】在我国目前工资制度下,在工资的发放中货币发挥着()的职能。 A.价值尺度 B.流通手段 C.支付手段 D.贮藏手段 【答案】: C 7.【4980】目前国内最大的寿险公司是()。 A.中国人寿 B.中国平安 C.新华人寿 D.泰康人寿 【答案】: A 8.【4987】最基本的个人金融业务是()。 A.储蓄业务 B.贷款业务 C.保险业务 D.信用卡业务

【答案】: A 9.【4988】保险人和投保人之间订立的正式保险合同的正式书面文件称为()。 A.保险单 B.保险凭证 C.投保单 D.批单 【答案】: A 10.【4989】通常人们到银行办业务时会说"存定期",这个"存定期"一般指()。 A.整存整取 B.零存整取 C.存本取息 D.定活两便存款 【答案】: A 11.【4990】财务公司属于()。 A.银行金融机构 B.非银行金融机构 C.证券公司

商业银行综合业务模拟实验报告

实验报告 本学期教务处为我们安排了商业银行综合业务模拟实验,在实验操作过程中,我们发现问题、解决问题,逐渐理解和掌握了银行日常业务的处理,包括个人储蓄业务和对公业务的处理;对现代商业银行的架构、运营模式有了一定的认识。在这十几周的学习中,我们将银行经营管理的理论与实践相结合,系统地实践、体验和学习银行业务的相关业务,拓展了知识面,提高了我们学习、判断、操作、分析等各个方面的能力。接下来按实验操作过程对相关业务的操作情况进行描述分析。 (一)个人储蓄业务 一、储蓄柜员初始操作 操作内容:登陆个人储蓄系统→修改密码和学号并增加尾箱→用尾箱登录在开始银行模拟业务前,老师给我们每个人分配了一个个人账号。我们可以用此账号作为用户名登陆模拟系统,然后进入“信息中心”修改个人资料并增加尾箱,同时设置尾箱密码以及登录密码,这样方可保证每位柜员都有属于自己的操作空间,避免他人修改银行业务的相关数据。本次模拟实验采取实名制,我们每个人都要在个人资料中填写自己的真实姓名,以便日后老师查看各位同学的实验进度以及得分。修改完后,每次登陆后右边信息栏中就会出现自己的相关信息。 在本模块操作中一定要牢牢记住自己的柜员号以及所设置的密码,否则就无法登陆银行模拟系统进行业务操作,这样就只能重新申请一个柜员号。 二、储蓄柜员日初操作 操作内容:凭证领用→重要空白凭证出库→现金出库→凭证综合查询→重要空白凭证查询 银行柜台工作人员进行日初业务处理首先应领用凭证。凭证及现金出库到柜员个人钱箱后才能进行柜员的日常业务操作。我们必须注意到凭证“开始号码”与“结束号码”不能与其他柜员领取的号码相同。自己领取的凭证号码应记下,以便接下来的业务操作使用。在实验过程中,若我们想了解凭证的使用情况,则可以进行凭证综合查询和重要空白凭证查询。

商业银行综合业务模拟实训报告与心得体会

(一)引言 2012年9月28号到10月26号,在金融系老师的缜密安排与悉心指导下,我们进行了为期五周的商业银行业务模拟实习。本次实习利用智胜商业银行综合业务模拟实验软件系统,按照商业银行的业务实例,进行开户、资料输入、凭证使用与审核、查询与报表处理等各项业务的计算机软件模拟操作。 通过本次实习,我们很好的将所学的银行理论知识与现代商业银行综合业务管理系统相结合,锻炼了我们的实际操作能力,加强了我们对现代商业银行综合业务系统中采用的大会计、综合柜员制的账务管理方式和面向客户的管理体系的理解。 在实习过程中,我们按照老师的要求随时记录下自己学到的新知识与技能,不断总结自己实际处理银行业务中的感悟,并写出了这份实习报告,作为对自己的总结、对老师的汇报。 (二)商业银行业务综述 2.1 对私业务综述 2.1.1 凭证管理 一、凭证种类及使用 程序下的凭证种类包括储蓄存折、储蓄存单、一本通存折、一卡通。可以用储蓄存折的储种包括:活期、零整、通知存款、教育储蓄和存本取息。 整存整取和定活两便都使用储蓄存单。 一本通和一卡通各储种都可使用。 二、凭证领用 系统的凭证领用采取从市行到支行、从支行到网点的二级分配体系。支行到市行领用凭证后,市行管理部门必须将凭证的起使号码位输入中心机房的管理机内,并进行分配操作,将凭证分配到各支行管理机内。同样,支行凭证管理员也要将凭证的起始号码有计划的分配到各网点的库钱箱里,网点凭证负责人在前台机器交易界面选择库钱箱凭证领用交易领入凭证到库钱箱,柜员用凭证出库交易领入凭证。 具体流程:市行库——支行库——网点库钱箱——柜员钱箱。

一卡通的分配和普通凭证分配一样,只是一卡通的分配是从卡部开始,而不是市行库。 2.1.2 钱箱管理 系统对网点设立库钱箱和柜员钱箱。库钱箱由中心机房建立,柜员钱箱在柜员第一次登录系统注册时柜员钱箱号不输(此时此柜员钱箱不存在),要柜员注册系统做增加柜员钱箱后柜员才生成钱箱号。在柜员钱箱生成后不能办理现金业务,需退出系统重新注册系统(此时此要输入柜员钱箱号)后才能办理现金业务。本所库钱箱本网点所有柜员都可使用,柜员钱箱只许本柜员使用,如果一个柜员不注册钱箱,则只能做转账业务而不能做现金业务。 2.1.3 日常操作流程 一、普通账户 客户拿身份证、凭条来办理新开账户业务,柜员先进行“开普通客户”交易,输入证件类型和号码后回车,如果系统提示“该证件已开过客户号”,则记下该客户号,退出“开普通客户”交易,直接进入相应的开账户交易。如果系统没有任何提示,说明该证件不曾开立客户号,那么柜员就请客户重新填写“客户申请书”,然后连同填好的凭条和证件一起交给柜员,从“开普通客户”交易开始。 二、一卡通账户 客户填写“客户申请书”、凭条,连同有效证件一起交给柜员,从“开一卡通客户”交易开始。客户开过客户号后,以后再办理开账户,就不必再填写“开户申请书”,直接就可以办理业务了。 三、注意事项 普通客户号可以开一本通和普通账户,一卡通客户号可以开所有账户。原则上一个有效身份证件只能开一个客户号,而一个客户号可以开多个账户。开过普通客户号的有效身份证件可以再开一个一卡通客户号,但是开过一卡通客户号的有效身份证件不能再开普通客户号。如果某新开客户证件类型和证件号码与其它客户相同的情况下,不再开立新客户,而返回具有相同证件客户的客户号。 2.2 对公业务综述 2.2.1 凭证领用

中国邮政储蓄银行专业知识真题

中国邮政储蓄银行专业知识真题 1. 自1984 年1月1日起,中国人民银行开始专门行使中央银行的职能,所承担的工 商信贷和储蓄业务职能转交至:(C) A 中国银行 B 交通银行 C 工商银行 D 建设银行 2. 下面哪些是属于中国人民银行的职责范围:( ABCDE) A. 发布与履行其职责相关的命令和规章 B. 发行人民币,管理人民币流通 C. 监督管理黄金市场 D. 负责金融业的统计、调查、分析和预测 E.从事有关的国际金融活动 3. 下列属于银监会的监管理念的是:( ABDE ) A.管风险 B.提高透明度 C.管机构 D.管法人E、管内控 4. 银监会的监管目标是监管者追求的基本目标(B ) A(对) B(错) 银监会的监管目标是监管者追求的最终效果或最终状态: 1 、审慎有效监管,保护存款人和消费者利益;2、增进市场信心;3、通过宣传教育工作和相关信息批露,增进公众对现代金融了解;4、努力减少金融犯罪 5. 下列属于市场准入的有:( ABD ) A.机构准入 B.业务准入 C.法人准入 D.高级管理人员准入 E.技术准入 6. 下列属于中国银行业协会的会员单位的有:( ABCEF ) A.政策性银行 B.商业银行 C.中国邮政储蓄银行 D.农村资金互助社 E.中央国债登记结算有限责任公司

F.资产管理公司 G、农村商业银行、农村合作银行、农村信用联合社(不包括村镇银行与农村资金互助社);准单位包括各省银行业协会 7. 中国银行业协会的执行机构是会员大会(B ) A(对) B(错) 中国银行业协会的最高权力机构为会员大会,会员大会的执行机构是理事会,对会员大会负责 8、下列属于银行金融机构的是:(ABEF)非银行金融机构包括:金融资产管理公司、信托公司、企业集团财务公司、金融租赁公司、汽车金融公司、货币经纪公司 A、中国进出口银行 B、村镇银行 C、资产管理公司 D、汽车金融公司 E、交通银行 F、农村信用联合社H 、金融租赁公司 9、国家开发银行所承担的任务是:(B) A、农业政策性贷款 B、国家重点建设项目融资 C、支持进出口贸易 D、支持国家开发项目融资 10 、中国农业发展银行可以办理保险代理等中间业务(A) A(对) B(错) 11 、按照“一行一策”原则,推进政策性银行改革,首先应该先推进(A)改革 A、国家开发银行 B、中国进出口银行 C、中国农业发展银行 D、中国银行12 、下面哪家大型商业银行还未在交易所上市(B)

[实用参考]银行业务模拟操作实验指导书.docx

《银行业务模拟操作》 实验指导书 授课班级 教师: 第一部分实验概述 一、课程性质 本课程为金融学专业必修的实践环节。 课程编号: 适用专业:金融学 先修课:金融学、国际金融、商业银行经营管理、会计学或金融会计等 学时数:30课时 学分数:1学分 二、实验目的 1、将银行经营管理的理论与实践相结合,系统地实践、体验和学习银行业务的 相关内容; 2、理解银行与个人、银行与企业以及银行之间的关系; 3、在高度仿真的模拟环境中,获得实践的经验,基本掌握不同柜面业务的处理 方法。 三、实验内容 在银行模拟系统软件中,学生扮演在银行中工作的柜员,进行存款、贷款、出纳、结算、账户管理等业务处理的模拟练习。 四、成绩评定

每个学生由易到难、循序渐进地进行上述各大类业务的模拟练习,系统根据操作的熟练程度和正确率进行自动评分。 学生最终的成绩由以下三部分构成: 模拟操作分数:60% 考勤:20% 实验报告:20% 五、实验室要求 1、在实验室机器上不得从事与本课程无关的活动。 2、遵守实验室规则,保持实验室清洁。 第二部分主页操作介绍 一、登录系统 登录http://172.25.69.211/simbankv4/l00.aspG进入SimBank银行模拟教学平台登录界面。分别输入帐号(即自己的学号)及密码(初始没有密码),点击“登录”按钮,进入模拟教学系统首页,如图1。在此可以看到指导教师发布的通知、实验内容的链接列表、成绩图表和相关知识链接。 在画面右上角处: 点击“个人信息”:学生可查看个人信息、修改姓名及密码。 点击“在线帮助”:可查询各项功能的具体操作。 点击“退出系统”:可重新进入登录画面。 图1 二、营业大厅

银行业务模拟

银行业务模拟 1.问题描述 假设银行有5个窗口对外接待客户。从早晨银行开门后不断有客户进入银行。由于每个窗口在某个时刻只能接待一个客户,因此在顾客众多时客户需要在窗口前排队等候。对于刚进入银行的客户,如果某个小黄口均有客户在办理业务,则他会排在人数最少的队伍后面。要求编写一个程序来模拟银行的这种业务活动,并计算一天中客户在银行的平均逗留时间。 2.概要设计 要计算一天中客户在银行的平均逗留时间,需要计算每个客户在银行的逗留时间,而客户在银行的逗留时间由他到达银行的时刻决定。每个客户在银行的逗留时段与3个时刻或时间间隔有关,及客户到大银行的时刻、客户在银行排队等候的时间和客户在窗口办理业务的时间。对于这三个时刻和时间,客户在银行排队等候的时间有队列长短自然决定,与其它客户的多少和办理业务时间长短没有关系,因此可以使用两个随机数进行模拟。 银行一天的营业过程中,每个客户到达或离开银行的时刻是补丁的,但对于所有客户而言,到达或离开银行在实际上总有一个先后顺序。可以将客户到达或离开银行称为实际,则一天银行中发生的所有事总有一个先后顺序,尹锡可以按照事件发生的先后顺序来一次多所有时间进行处理,及县发生先处理,后发生后处理,每次处理的是当

前最早发生的事件。 在模拟过程中主要处理两类事件,及客户到达事件和客户离开事件。而模拟过程本身是一个动态过程,在处理已发生事件的同时,总不断有新事件发生,一次模拟程序必须以便处理客户到达和客户离开事件,一边产生新事件。由于所述原因,模拟程序可以按一下思路进行设计: Bank_Simulation(int ClloseTime) //CloseTime是关门时间 { InitDay(); //初始化工作 While(如已发生事件还未处理结束) { 驱动新事件发生;//新事件的发生时间必须小于CloseTime才有效若正在处理事件是客户到达事件,则按处理客户到达时间要求进行处理; 若正在处理事件使客户离开事件,则按处理客户离开时间要求进行处理; }; 输出一天客户在银行的平均逗留时间; } 要实现上述设计,首先需要解决数据结构问题。有缘照事件发生的先后顺序对事件进行处理,因此需要使用一个事件按发生顺序将已发生的所有事件存放起来。事件表示一个有序表,按事件发生时间的先后有序。由于事件发生具有随机性,事件表中数据元素的数量变化很大,因此事件表易采用线性链表作为存储结构。对事件表主要进行两种操作,及删除事件表的第一个元素和将一个事件按其发生时间的先后顺序插入到事件表的相应位置上。 事件表中每一个数据元素都是一个事件。每个事件有两个信息必须记下来,一个就是该事件发生的时刻,另一个是该事件的类型。可以将事件类型分为6类,一类是客户到达事件,其他五类一次是从第一个窗口离开事件,从第二个窗口离开事件,从第三个窗口离开事件,从第四个窗口离开事件和从第五个窗口离开事件。因此,事件表中每

中国银行流程优化

优化服务流程,提高服务效率 中国银行业的发展明显带着中国经济发展的深刻烙印,从计划经济向市场经济发展,带动了银行从国家政策性银行向商业银行转变。随着国家经济的不断发展,社会各界对银行服务提出了更高的要求,银行网点作为目前银行服务的主渠道也承受了越来越大的压力。银行网点是业务营销的主战场,是银行与客户面对面接触的最佳场所,客户踏进银行网点的第一观感.往往能够觉察真实的服务情况。有些银行网点的柜面业务流程存在不统一、不规范、不合理的现象,已成为提高柜面工作效率、提升服务质量的突出问题,在一定程度上妨碍了业务的发展。最明显的迹象就是客户对柜台业务处理效率不满意,抱怨排队等候时间长,银行临柜人员在操作时对时间的掌握、制度的灵活等方面还需进一步加强。 银行网点服务流程优化的目标是建立标准化的操作流程,标准化的运行程序是提高团队整体效益的必然要求,标准化的流程就是“造钟”,只有每一个步骤都标准无误,才能将钟表的运转控制的分秒不差。而网点服务流程的优化就是将网点服务的随意化转化到标准化,建立统一的柜面优质服务流程的标准,实现服务标准化和客户体验的一致性。银行网点可以通过识别引导、接触营销、业务处理等多个方面进行统一,提高工作效率,提升服务质量,增强营销能力,控制业务风险,最终达到提高客户满意度,提升核心竞争力,增强银行盈利能力的目标。 银行网点服务流程优化也有其原则。银行网点服务流程优化必须

以风险可控为前提,绝不能为一味追求效率而放弃必要控制。同时要以客户为中心,要站在银行内外两个方面,既要照顾到客户的需求,也要考虑银行经营本身的成本效益要求,达到客户和银行的双赢。此外,还要做到高效快捷,实行通用标准,应做到工作步骤标准化,此标准应作为统一的最低标准规范全行网点服务质量和水平。 针对银行网点服务流程优化,中国银行总结近几年的经营经验,采取了一系列的措施: 1.进一步提升客户服务引导,规范客户接待流程。 在银行网点服务流程优化的过程中,将服务引导接待流程进行步骤细分,加强大堂经理的业务引导,要求大堂经理要充分利用客户等待时间.帮助客户提前做好办理业务的必要准备.既可节省客户排错队或者没有预先填妥单据而白白浪费的时间,又可帮助客户克服排队等待的急躁情绪。譬如,帮助客户选用单据.引导客户正确排队,指导客户使用自助机具。如果客户等待时间较长.送上一杯水,请他们翻看宣传资料.解答他们提出的问题,定能得到客户的信任和理解。 2.进一步强化网点营销力度,完善客户接触点营销。 在合理的客户引导后,进入网点的客户会来到不同的业务柜面进行操作。网点柜员可以根据客户的不同需求,立足全员营销的前提下,向不同客户有针对性的营销不同的产品和服务。同时网点更应设立个人、公司金融产品营销专柜,由专门的客户经理坐堂进行产品营销。这样可使网点柜员专注于标准金融业务的办理.而降低柜员接受业务咨询的压力.加快单笔业务处理效率。同时,由客户经理承担起主要

智胜商业银行综合业务模拟系统实验报告

商业银行实验报告 ——智胜商业银行综合业务模拟系统实验报告

目录 实验目的 (3) 实验内容 (3) 1、描述一下智盛商业银行综合业务模拟系统及操作平台 (3) 2、做了哪些模拟业务,举例说明,包括哪些对公业务,对私业务? (4) 【对公业务】 (4) (1)日初操作 (4) (2)对公存贷业务 (5) (3)个人贷款业务: (6) (4)对公结算业务 (6) (5)对公特殊业务: (8) (6)对公日终处理: (9) 【对私业务】 (9) (1)储蓄日初处理 (9) (2)储蓄日常业务: (9) (3)储蓄特殊业务 (10) (4)储蓄代理业务: (10) (5)信用卡业务: (11) (6)储蓄日终处理 (11) 3、对该套系统有哪些意见和建议,存在哪些问题有待进一步改进。 (11) 实验总结和心得 (12) (1)对公业务的操作的总结和心得 (12) (2)对私业务操作的总结和心得 (13)

实验目的 通过本实验,加深对现代商业银行业务模拟系统的理解了,初步掌握金融业务系统业务处理方法,熟悉并学会利用计算机软件处理银行业务,为以后银行工作打下基础。 实验内容 1、描述一下智盛商业银行综合业务模拟系统及操作平台 智盛商业银行综合业务模拟系统是一个面向金融业发展金融电子化工程建设,集开发、研究、实验、培训为一体的银行业务模拟系统。 我们可以通过本系统将所学的银行理论知识与现代商业银行业务管理系统相结合,通过对本系统的模拟实验操作,充分理解所学的银行理论知识与实际应用系统的联系。 这个系统采用最新的金融会计制度(4位会计科目代码),大会计、综合柜员制的帐务管理方式。系统采用了当前商业银行流行的系统结构和大会计、综合柜员的帐务管理方式。让我们通过实训可以更好地理解现代商业银行综合业务系统中核心会计,即并账制。核心会计系统代表了先进银行系统的一个主要特点,也是目前国内商业银行系统发展的一个新趋势。把传统会计系统的一些功能包括对公业务和各业务帐户的明细核算分散到各个应用中去,不以公、私业务及业务部门来划分系统,加强会计的分析管理功能,将大会计系统转为总帐系统,将核算会计向管理会计过渡。面向综合柜员:通过在并账制的基础之上,对前台系统和综合业务系统的有机结合,在保留原有账务轧平方式的同时,逐步将柜面人员以面向账务为主改为面向业务为主的方式,提高业务的处理效率,并有利于新业务的开展。 商业银行业务管理模式一般是采用三级管理方式,即总行---分行---支行模式,这种模式是目前国内所有商业银行通行的业务模式。这个平台同样采用这种业务模式,教师可以将每个班级设置为一个支行,让我们担任这个支行的柜员角色。 这个系统采用与商业银行完全一样的业务操作流程,通过模拟操作银行业务,达到身临其境地体验银行各类角色的效果。允许我们扮演银行实际工作中的各种特定角色(如会计、储蓄、出纳、贷款、报表管理、综合查询、个人客户、企业客户等),通过联机交易,分工体验到银行的实际业务环境,从信息化的高度全面把握银行的业务流程,达到现代化商业银行从业人员所具备的高素质。 系统可以让我们理解现代商业银行综合业务面向客户的管理体系。采用面向管理、服务、产品、客户和数据的全新概念设计,而不是传统的面向记账、传票、交易、帐户、流程的设

相关文档
最新文档