计算机与信息技术学院综合性、计算机与信息技术学院综合性、设计性实验报告
专业:计算机科学与技术2012学年第一学期课程名称数据结构本组成员1008114082学号姓名实验地点215机房年级班级:10级指导教师左雪敬实验时间7、8、9周56节综合性王岁花2011
银行业务模拟系统的设计与实现项目名称实验类型问题简介:问题简介:1:假设某银行有四个窗口对外接待客户,从早晨银行开门起不断有客户进
入银行。由于每个窗口在某个时刻只能接待一个客户,因此在客户人数众多时需在每个窗口前顺次排队,对于刚进入银行的客户,如果某个窗口的业务员正空闲,则可上前办理业务,反之,若四个窗口均有客户所占,他便会排在人数最少的队伍后面。现在需要编制程序以模拟银行的这种业务活动并计算一天中客户在银行逗留的平均时间。一个完整的系统应具有以下功能:2.一个完整的系统应具有以下功能:1)初始化(Ope
ForDay),模拟银行开门时各数据结构的状态。2)事件驱动(Eve
tDrived)对客户到达和离开事件做相应处理。3)下班处理(CloseForDay)模拟银行关门时的动作,统计客户平均逗留时间。一、实验目的:实验目的实验目的1)通过实验掌握对离散事件模拟的认识;2)进一步理解队列的实现与应用;3)对链表的操作有更深层次的理解;该实验涉及到线性表的建立、插入、删除等操作,涉及到了队列的建立、插入、删除,涉及到了离散事件的应用思想,还涉及到了排序的概念。完成这个实验对线性表、队列及C语言编程等多方面的知识将是一个很好的利用,对离散事件也将有一个初步的认识。二、实验仪器或设备:计算机。三:实验步骤:1:整体设计。包括初始化(Ope
ForDay),事件驱动(Eve
Drived),下班处理(CloseForDay)初始化的代码主要完成的工作是建立一个银行工作系统的框架,把实际问题数字化,利用“事件”来描述系统程序,其中包括变量客户人数、累计时间、客户到达成为事件的一个部分,当然每个窗口看做是一个队列。算法如下:
河南师范大学计算机与信息技术学院
fvoidOpe
ForDay初始化操作i
tiI
itListev初始化事件链表为空e
OccurTime0设定第一个客户到达事件e
NTypeQu到达OrderI
serteve
cmp插入事件表fori0iQui置空队列I
itQueueqi接下来,客户进入,进行客户到达后的处理要做的操作有:客户人数加1记录到达的时刻加入事件列表查找队列最短的窗口客户插入办理业务离开记录办理业务需要的时间。算r