银行业务的模拟程序:
假设某银行有四个窗口对外接待客户,且每个窗口在某时刻只能接待一位客户,客户在银行工作时间内进入银行后选择最短的一队进行排队等候。现在编制一个程序以模拟银行的这种业务活动并计算一天中客户在银行逗留的时间。
前期准备:
1)客户逗留时间=客户离开银行时间-客户进入银行时间
2)称客户到达银行和客户离开银行这两个时刻发生的事情为“事件”
3)将上述所有事件按照先后顺序插入事件表
4)客户选择最短窗口进行排队,类似于将客户入队,且客户办理业务满足先排先办,即“先进先出”的原则
情况假设:
1)对事件表:
其中(0),(6),(12),(20)表示时间。
假设某银行有四个窗口对外接待客户,且每个窗口在某时刻只能接待一位客户,客户在银行工作时间内进入银行后选择最短的一队进行排队等候。现在编制一个程序以模拟银行的这种业务活动并计算一天中客户在银行逗留的时间。
前期准备:
1)客户逗留时间=客户离开银行时间-客户进入银行时间
2)称客户到达银行和客户离开银行这两个时刻发生的事情为“事件”
3)将上述所有事件按照先后顺序插入事件表
4)客户选择最短窗口进行排队,类似于将客户入队,且客户办理业务满足先排先办,即“先进先出”的原则
情况假设:
1)对事件表:
其中(0),(6),(12),(20)表示时间。
当第一个客户到达(规定时间为0)之后,先要将“客户1到达事件”插入到事件表,同时随机产生下个客户到达的时间间隔,然后将“客户2到达事件”插入事件表。同时将“客户1,2离开银行事件”也顺序插入事件表,最后对事件表进行遍历。
2)对四个队列()四个窗口:
3)对客户:
#include<iostream>
#include<cstdlib>
#include<ctime>
#include"LinkList.h"
#include"LinkQueue.h"
using namespace std;
#define CloseTime 100
#define B1 31
#define A1 0
#define B2 6
#define A2 0
int TotalTime,CustomerNum; //