数据结构银行系统的实验报告

数据结构银行系统的实验报告

ID:35342750

大小:69.27 KB

页数:8页

时间:2019-03-23

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

《数据结构银行系统的实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、软件学院综合性实验报告专业:年级/班级2013—2014学年第一学期课程名称指导教师本组成员学号姓名实验地点实验吋间项目名称银行业务模拟系统的设计与实现实验类型综合性一、实验目的1)通过实验掌握对离散事件模拟的认识;2)进一步理解队列的实现与应用;3)对链表的操作有更深层次的理解;该实验涉及到线性表的建立、插入、删除等操作,涉及到了队列的建立、插入、删除,涉及到了离散事件的应用思想,还涉及到了排序的概念。完成这个实验对线性表、队列及C语言编程等多方面的知识将是一个很好的利用,对离散事件也将有一个初步的认识。二、实验仪器或设备学

2、院提供公共机房,1台/学生微型计算机。三、总体设计(设计原理、设计方案及流程等)1问题描述假设某银行有四个窗口对外接待客户,从早晨银行开门起不断有客户进入银行。由于每个窗口在某个时刻只能接待一个客户,因此在客户人数众多时需在每个窗口前顺次排队,对于刚进入银行的客户,如果某个窗口的业务员正空闲,则可上前办理业务,反之,若四个窗口均有客户所占,他便会排在人数最少的队伍后面。现在需要编制程序以模拟银行的这种业务活动并计算一天中客户在银行逗留的平均时间。2.一个完整的系统应具有以下功能:1)初始化(OpenFmDay),模拟银行开门时

3、各数据结构的状态。2)事件驱动(EventDrived),对客户到达和离开事件做相应处理。3)下班处理(CloseForDay),模拟银行关门时的动作,统计客户平均逗留时间。四、实验步骤(包括主要步骤、代码分析等)1)C语言代码ttincludeWincludettincludettincludeintCks=4;//银行办理业务的窗口数,默认值为:4;最大值不超过20;intQu;//客户队列数Qu=CksintKhjg=5;//两相邻到达客户的时间间

4、隔最大值,默认值为:5intBlsj=30;//每个客户办理业务的吋间最大值,默认值为:30typedefstructintOccurTime;intNType;//事件类型,Qu表示到达事件,0至Qu-1表示Qu个窗口的离开事件}Evcnt,ElcmTypc;typedefstructLNode{ElemTypedata;structLNode*ncxt;}LNode,*LinkList;typedefLinkListEventList;//事件链表类型,定义为有序链表typedefstruct{intArrivalTime

5、;intDuration;}QElemType;typedefstructQNodc{QElemTypedata;structQNode*next;}QNode,*Queue;typedefstruct{Queuehead;Queuetail;}LinkQueue;LinkQueue*q;//Qu个客户队列EventListev;Eventcn;Eventet;QElemTypecustomer;intTotalTime=0,CustomerNum=0;//累计客户逗留时间,客户数(初值为0)intCloseTime;//银行

6、营业时间(单位是分)voidInitList(EventList&L){L二(EventList)malloc(sizeof(LNode));L->next二NULL;}intListLength(EventListL)//求事件表的长度inti=0;EventListp;p=ev->next;while(p){p二p->next;i++;}returni;}intListEmpty(EventListev)//判事件表是否空{return(ev->next二二NUI丄);}voidGethead(EventListev,Ev

7、ent&en){EventListq;q二ev->next;cn=q->data;ev->next=q->next;free(q);}voidInitQucuc(LinkQucuc&Q){Q.head二Q・tail=(Queue)malloc(sizeof(QNode));Q.head->next=XULL;}intcmp(Eventa,Eventb){//依事件a的发生时刻〈、二或〉事件b的发生时刻分别返回-1、0或1if(a.OccurTime==b.OccurTime)return0;elsereturn(a.Occur

8、Time-b.OccurTime)/abs(a.OccurTime-b.OccurTime);}voidInsertEventList(EventList&L,Eventa)//将事件a插入到有序的事件链表中,保再有序性不变{EventListp=L,q;while(p->n

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

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

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