- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
银行业务活动的模拟
数据结构课程设计报告
题目:银行业务的活动模拟
学生姓名:
学 号:
班 级:
指导教师:
2013年 1 月 10 日
数据结构课程设计任务书
一、需求分析说明
银行业务活动的模拟
二、总体设计
首先把银行一天的营业时间定为480。要计算一天中客户在银行的平均逗留时间则需要计算每个客户在银行的逗留时间,而客户在银行的逗留时间有他到达银行的时刻和离开银行的时刻决定。每个客户在银行逗留的时段与客户到达银行的时刻、在银行排队等候时间和顾客在窗口办理业务的时间,三部分组成。对于这三个时刻或时间段,客户在银行排队等候的时间由队列长短自然决定,也与其他客户的多少和办理业务的时间长短有关;而到达银行的时刻和客户在窗口办理业务的时间是独立随机的,只与客户本人有关,因此这两个事件的时刻和时间用随机数进行模拟。
三、详细设计
1、设计四个类
分别是QueueNode、QueueHeader、EventNode、EventList。
他们的组成形式为:
(1) class QueueNode
{ public:
int arrivetime;
int duration;
QueueNode *next;
};
该类中arrivetime指的是客户到达时间,duration指的是客
户的服务时间,next 指针指向下一个节点。
(2) class QueueHeader
{ public:
QueueNode *front,*rear;
int length;
};
该类中定义了两个QueueNode类的指针对象,分别指向队列的 头指针和尾指针;Length指的是当前队列的长度,即客户的数目。
(3) class EventNode
{ public:
Int occurTime,eventType;
EventNode *next;
};
该类中的occurTime指的是一个事件占用的时间,eventType指的是事件类型。定义了一个next指针指向下一个事件点。
(4) class EventList
{ public:
EventNode *front,*rear;
int eventNum;
};
该类中定义了两个EventNode类指针front和rear,分别指向队
头和队尾,eventNum指的是事件的总数目。
类图:
2、 (1).函数int generate(EventNode **p)用来分配事件点。
(2).函数void InsertEvent(EventList *eventlst,int
occurTime,intetype)用来将客户插入到队列中
.函数voidDeleteEvent(EventList*eventlst,
EventNode**event)作用是删除事件点。
.函数void random(int *durtime,int *intevatime)
是一个随机函用来随机的产生客户到达银行的时间。
四、实现部分
#includeiostream.h
#includestdio.h
#includestdlib.h
#includewindows.h //时间函数头文件声明
#define CLOSETIME 480 //定义营业时间
#define M 4 //定义服务窗口数量
class QueueNode //类的定义
{
public:
int arrivetime;
int duration;
QueueNode *next;
};
class QueueHeader
{
public:
QueueNode *front,*rear;
int length;
文档评论(0)