数据结构大型实验报告-银行模拟系统

数据结构大型实验报告-银行模拟系统

ID:6334599

大小:427.00 KB

页数:13页

时间:2018-01-10

数据结构大型实验报告-银行模拟系统_第1页
数据结构大型实验报告-银行模拟系统_第2页
数据结构大型实验报告-银行模拟系统_第3页
数据结构大型实验报告-银行模拟系统_第4页
数据结构大型实验报告-银行模拟系统_第5页
资源描述:

《数据结构大型实验报告-银行模拟系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构大型实验报告目录一:采用的模型和类的设计…………………………………………1.1模型…………………………………………………………1.2类的设计……………………………………………………1.2.1time24类…………………………………………………1.2.2event类…………………………………………………1.2.3pqueue类…………………………………………………1.2.4simulation类……………………………………………二:整个系统的框架设计……………………………………………三:本离散事件描述…………………………………………………四:实现模拟

2、的过程框图……………………………………………五:完整的系统源代码………………………………………………六:本系统运行结果…………………………………………………七:实验中遇到的问题及解决方法…………………………………一:采用的模型和类的设计1.1模型:本系统采取事件驱动模型来设计。通过程序动态模拟银行顾客在一家有n>=2个窗口的银行的到达和离开的情况。通过计算每位顾客的平均等待时间及每一窗口处于“繁忙”状态的百分比,来计算银行的服务效率。实现中,可以顾客的到达事件,离开事件代表银行活动的对象,用事件驱动来模拟这些活动,并以概率(随机数发生器)来描述预期的客户到

3、达率和银行职员为一个顾客服务所需的时间。在实验中,可改变参数,如银行营业时间范围,银行窗口数、客户的到达率、服务时间,顾客的最大耐性等待时间,VIP顾客的到达率等,测试银行的服务效率。银行模拟的关键部分为客户时间,包括到达,中途离开和办完业务离开事件,刚达到的顾客通过随机数产生下一个顾客的到达,已到达的顾客通过随机数产生服务时间,选择最早空闲的窗口后,可生成离开事件;所有事件都被加上时间戳,放到优先队列中,队列中优先级最高的事件就是时间戳最早的事件。其中每一到达事件均可估计出自己的等待时间,若等待时间超出一开始设定的最大耐性等待时间,则顾客选择中途离开,生

4、成中途离开事件。到达的事件中,又分为普通顾客到达事件和VIP顾客到达事件。VIP到达时,可选择普通窗口和贵宾窗口来办理业务。但是普通顾客到达只能选择普通窗口来办理业务。1.2类的设计:1.2.1time24类Time24类对24小时时间制的加,减,等于,小于,输入,输出进行了运算符的重载。classtime24;time24operator+(consttime24&lhs,consttime24&rhs);time24operator+(consttime24&lhs,intmin);time24operator+(intmin,consttime24&

5、rhs);time24operator-(consttime24&lhs,consttime24&rhs);booloperator==(consttime24&lhs,consttime24&rhs);booloperator<(consttime24&lhs,consttime24&rhs);istream&operator>>(istream&istr,time24&r);ostream&operator<<(ostream&ostr,consttime24&r);1.2.2event类Event类首先枚举了事件类型:到达事件,中途离开事件还是正常办

6、完业务的离开事件。其中每个事件还包括了属性(普通事件还是贵宾事件)。具体成员变量及函数如下:#ifndefEVENT_CLASS#defineEVENT_CLASS#include"time24.h"enumEventType{arrival,departure,dep2};classEvent{private:inttime;//到达时间EventTypeetype;//事件类型intcustomerID;//顾客号inttellerID;//窗口号intwaitTime;//等待时间intserviceTime;//服务时间intvip;//贵宾级pu

7、blic:Event()intgetTime()Event(intt,EventTypeet,intcID,inttID,intwt,intst,intv);intGetTime()const;EventTypeGetEventType()const;intGetCustomerID()const;intGetTellerID()const;intGetWaitTime()const;voidsetWaitTime(intt);intGetServiceTime()const;intGetVip()const;};#endif1.2.3pqueue类该优先

8、级队列是以链表来实现的。由于每个事件都被插上了时间戳,所以以事件发

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。