- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构大型实验报告-银行模拟系统
数据结构大型实验报告
目录
一:采用的模型和类的设计…………………………………………
1.1模型 …………………………………………………………
1.2类的设计 ……………………………………………………
1.2.1 time24类…………………………………………………
1.2.2 event类 …………………………………………………
1.2.3 pqueue类…………………………………………………
1.2.4 simulation类……………………………………………
二:整个系统的框架设计……………………………………………
三:本离散事件描述…………………………………………………
四:实现模拟的过程框图……………………………………………
五:完整的系统源代码………………………………………………
六:本系统运行结果…………………………………………………
七:实验中遇到的问题及解决方法…………………………………
一:采用的模型和类的设计
1.1模型:
本系统采取事件驱动模型来设计。通过程序动态模拟银行顾客在一家有n=2个窗口的银行的到达和离开的情况。通过计算每位顾客的平均等待时间及每一窗口处于“繁忙”状态的百分比,来计算银行的服务效率。实现中,可以顾客的到达事件,离开事件代表银行活动的对象,用事件驱动来模拟这些活动,并以概率(随机数发生器)来描述预期的客户到达率和银行职员为一个顾客服务所需的时间。
在实验中,可改变参数,如银行营业时间范围,银行窗口数、客户的到达率、服务时间,顾客的最大耐性等待时间,VIP顾客的到达率等,测试银行的服务效率。
银行模拟的关键部分为客户时间,包括到达,中途离开和办完业务离开事件,刚达到的顾客通过随机数产生下一个顾客的到达,已到达的顾客通过随机数产生服务时间,选择最早空闲的窗口后,可生成离开事件;所有事件都被加上时间戳,放到优先队列中,队列中优先级最高的事件就是时间戳最早的事件。其中每一到达事件均可估计出自己的等待时间,若等待时间超出一开始设定的最大耐性等待时间,则顾客选择中途离开,生成中途离开事件。到达的事件中,又分为普通顾客到达事件和VIP顾客到达事件。VIP到达时,可选择普通窗口和贵宾窗口来办理业务。但是普通顾客到达只能选择普通窗口来办理业务。
1.2类的设计:
1.2.1 time24类
Time24类对24小时时间制的加,减,等于,小于,输入,输出进行了运算符的重载。
class time24;
time24 operator+ (const time24 lhs, const time24 rhs);
time24 operator+ (const time24 lhs, int min);
time24 operator+ (int min, const time24 rhs);
time24 operator- (const time24 lhs, const time24 rhs);
bool operator== (const time24 lhs, const time24 rhs);
bool operator (const time24 lhs, const time24 rhs);
istream operator (istream istr, time24 r);
ostream operator (ostream ostr, const time24 r);
1.2.2 event类
Event类首先枚举了事件类型:到达事件,中途离开事件还是正常办完业务的离开事件。其中每个事件还包括了属性(普通事件还是贵宾事件)。具体成员变量及函数如下:
#ifndef EVENT_CLASS
#define EVENT_CLASS
#include time24.h
enum EventType{arrival,departure,dep2};
class Event
{
private:
int time;//到达时间
EventType etype;//事件类型
int customerID;//顾客号
int tellerID;//窗口号
int waitTime;//等待时间
int serviceTime;//服务时间
int vip;//贵宾级
public:
Event()
int getTime()
Event(int t,EventType et,int cID,int tID,int wt,int st,int v);
int GetTime()const;
EventType GetEventType() const;
int GetCustomerID()const;
int GetTellerID()const;
int GetWaitTime()const;
您可能关注的文档
- 《这儿原来是一座村庄课件》小学语文北师大版五年级上册.ppt
- 恒升资产管理交易系统使用说明书_5_查询管理.doc
- 《这儿原来是一座村庄》课件(新课标人教版小学五年级语文上册课件).ppt
- 《这儿原来是一座村庄课件》小学语文北师大版五年级上册_10.ppt
- 《这儿原来是一座村庄课件》小学语文北师大版五年级上册_1.ppt
- 《这儿原来是一座村庄课件》小学语文北师大版五年级上册_11.ppt
- 成都市青白江区城乡商业网点规划(2007—2020).docx
- 我国氯丁胶粘剂的现状及其展望.doc
- 《这儿原来是一座村庄课件》小学语文北师大版五年级上册_12.ppt
- 《这儿原来是一座村庄课件》小学语文北师大版五年级上册_13.ppt
文档评论(0)