网站大量收购独家精品文档,联系QQ:2885784924

数据结构课程设计实习报告-银行业务模拟.doc

数据结构课程设计实习报告-银行业务模拟.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计实习报告-银行业务模拟

数据结构课程设计实习报告 题目:银行业务模拟 班级:计算机科学技术2004   姓名:张芳芳   学号: 031010151551005 需求分析: 1.用 Visual C++ 工具设计实现一个用事件驱动的银行业务离散模型, 模拟每一个客户到达银行、排入人最少的业务窗口队列、排至窗口并处理完业务后离开的整个过程,统计客户在银行的平均逗留时间(即最近20人的平均逗留时间),适时地调整同时营业的窗口数(即能自动根据平均队长调整营业窗口数,缩减窗口时,应将此前排在被减窗口的客户继续处理完),在保持合理的逗留时间的条件下,节省银行投入的资源。假设相继到达银行的两乘客间的时间间隔(可用↑和↓来控制其大小)和每个客户业务处理花费时间长短都各不相同,而且应是随机的,其平均值可控制。 2.某时刻其状态的改变被称为”事件”,例如:一个客户到达银行;一个客户(处理完业务)从某窗口离开;一个客户排入某窗口的队尾;这些都是事件。按时间依次发生的事件序列就模拟了系统的运行。某些事件之间的因果关系表现为事件的驱动关系。针对模型的具体研究目标,需要对模型做一定简化,在能表现模型的主要性态的前提下,应设置尽可能少的事件。要求模拟两种事件:一个客户到达和一个客户从某窗口离开。要求形象地显示多个窗口队列的变化情况。 3.必须采用事件驱动的离散模型,不要采用时间驱动方案(指用计时器来确定事件发生的方式)。离散事件驱动模型的特点是只关注和刻画事 物的状态变化(即事件),不关心变化的过渡过程。这是对事物的一种简化,也会带来局限。模型靠每一个事件引发其它事件的方式来维持运转。每个事件都有发生时间,模型的运转实际就是按事件发生时间顺序逐个处理事件,处理将产生新的事件。因此,建模的关键就是全面分析事物的主要特点,抽象出几种能反映本质的事件和它们之间的驱动关系。有时,这种驱动关系不一定反映实际的因果关系,而是维持系统运转的需要。系统时间就是当前事件的事件发生时间,它不是等间隔变化而是跳跃变化的。 4.模型中的简化和假设应是合理的, 避免歪曲事物的主要性质。每个客户到达和下一客户到达时间的间隔以及每个客户业务花费时间都应是随机的,其平均值应便于调整。其中,客户到达时间的平均间隔应能在运行中用键盘实时调整。每个客户到达和下一个客户到达时间的间隔有时可能取零值(相当于两人同时到达),但每一个客户花费的业务处理时间则不可能取零值(=1分钟)。 5.能比较形象地实时显示各队列的状态及客户平均逗留时间、平均队列长度、已办完业务的客户数。模型应能自动根据平均队长调整营业窗口数,缩减窗口时,应将此前排在被减窗口的客户继续处理完。 6.还要形象地实时显示系统时间,即当前业务发生时间,采用 分钟:秒 的形式输出,当到达银行关门时间时,若还有客户没处理完业务,将继续处理,直至最后一个客户离开,但不能延时过久,尽快将剩余客户处理完。 7.为了简化操作我没有用C语言而是用了C++,因为C++有地址传送,方便处理。 概要设计: 单链表的抽象数据类型定义为: ADT eventlist{ 数据对象:D={qi|qi∈ElemSet,i=1,2,……,n,n=o} 数据关系:R={〈qi-1,qi|qi-1,qi∈D,i=2,3,……,n} 队列的抽象数据类型定义: ADT Queue{ 数据对象:D={ai|ai∈ElemSet,i=1,2,……,n,n=o} 数据关系:R={〈ai-1,ai|ai-1,ai∈D,i=2,3,……,n} 基本操作: Initqueue(linkqueue q) 操作结果:构造一个空的队列q; Initlist(linklist ev) 操作结果:构造一个空的链表ev; Queueempty(linkqueue q) 初始条件:队列q已存在; 操作结果:若队列为空,则返回TURE,否则返回ERROR; Queuelength(linkqueue q) 初始条件:队列q已存在; 操作结果:返回队列的长度; Mininum(linkqueue q[]) 初始条件:队列数组已存在 操作结果:返回队列数组中最短队的长度; Enqueue(linkqueue q,qelemtype e) 初始条件:队列数组已存在 操作结果:在队尾插入一个元素e Delqueue(linkqueue q,int l) 初始条件:队列数组

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档