化学试题银行业务模拟与离散事件模拟课程设计

上传人:鲁** 文档编号:490363672 上传时间:2023-06-04 格式:DOC 页数:7 大小:22.50KB
返回 下载 相关 举报
化学试题银行业务模拟与离散事件模拟课程设计_第1页
第1页 / 共7页
化学试题银行业务模拟与离散事件模拟课程设计_第2页
第2页 / 共7页
化学试题银行业务模拟与离散事件模拟课程设计_第3页
第3页 / 共7页
化学试题银行业务模拟与离散事件模拟课程设计_第4页
第4页 / 共7页
化学试题银行业务模拟与离散事件模拟课程设计_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《化学试题银行业务模拟与离散事件模拟课程设计》由会员分享,可在线阅读,更多相关《化学试题银行业务模拟与离散事件模拟课程设计(7页珍藏版)》请在金锄头文库上搜索。

1、银行业务模拟与离散事件模拟课程设计 工学系课程设计报告 设 计 题 目:银行业务模拟与离散事件模拟 系 别:工学系 专 业 (方 向): 年 级、 班: 学 生姓名: 学 生 学 号: 指 导 教师: 年 月 日 目录 一、系统开发的背景。1 (一) 系统功能要求 (二) 系统模块结构设计 1三、系统的设计与实现 (一)开门函数: 3(二) 顾客到达函数: 5 (三) 顾客离开函数: 6 四、系统测试 7五、总结 8 六、附件(代码、部分图表) 8 银行业务模拟与离散事件模拟一、系统开发的背景。 为了在现实生活中,方便银行业务员更好的操作和管理银行出现的各种事件,以及方便算出各种时间,我们设计

2、了银行业务模拟与离散事件模拟系统。 通过此次课程设计中银行业务模拟的题目,掌握队列,或链表等数据结构的基本操作方面的知识并能灵活的解决一些基本的问题,加深对其性质及操作的理解。将所学数据结构方面的知识与一门具体的语言相结合来进行实现,感受数据结构的强大作用,加深理解。 (一) 系统功能要求 编制一个程序,可以以模拟银行的这种业务活动并计算一天中客户在银行逗留的平均时间1、客户到达时间随机产生,一天客户的人数设定为10人;2、 银行业务员处理时间随机产生,平均处理时间为10分钟;3、 将一天的数据结构(包括业务员和客户)以文件方式输出。 .(二) 系统模块结构设计 通过对系统功能的分析,银行业务

3、模拟与离散事件模拟系统功能如下图所示。 银行业务模拟与离散事件模拟开门函数 (enFrd()顾客到达函数 (Customerrived())顾客离开函数(CstomeDeparture()) 银行业务模拟与离散事件模拟系统 通过上图的功能分析,把整个系统划分为3个模块: 1、 开门函数,该模块主要实现:银行开始正常营业时间,借助函数penray()来实现; 2、 顾客到达函数,该模块主要实现:客户在银行里 从排队到办理完银行业务的功能,借助函数CsomeArie()来实现; 3、顾客离开函数,该模块主要实现:银行下班时间及顾客全部离开的功能,借助函数Cstomrepat()来实现。三、系统的设

4、计与实现【流程图】 客户到达 开始选择服务窗口窗口忙 服务并展开 链表空窗口闲置 结束 排队 对头取客户 处理并离开 否 时间到 (一) 开门函数:OerD() 分析:首先输入随机数种子,然后输入银行办理时的基本信息。如下图所示。vid pnFoDay() /初始化事件链表/ i;IitLit(v); enOcurime=0; n.Tpe=Qu; /*到达*/ rrIner(v,e,cmp); or(=0;i(二) 顾客到达函数Custerrrv()客户到达处理 产生随机数插入到达事件表 插入最短队 插入离事件 该模块的具体代码如下所示:d CustomerArive() /处理客户到达事件*

5、/ QlmType f; it durtime,inetime,i; +CstomrNum; /客户数增加 Random(durtime,intertie); e.OrTmeen.OccrTie+intetie;*下一客户到达时刻=当前客户的到达时间+时间间隔/ e.NTy=Qu; /*下一客户到达事件*/ i=Minium(q); if(tOccurTimvid CsomerDartur() 处理客户离开事件*/ int ;ien.Type; DQueu(qi,cusomer); /*删除队列排头客户*/ Ttlie+en.Occurim-cstme.Arivalim; if(!QuuEpt

6、y(i)) GeHad(qi,ustomer); e.OccurTieen.OcuriecusmerDatn; e.Nypei; Orrnsert(ev,t,cm); 四、系统测试 (一) 测试函数 测试该函数使用的测试方法,测试的具体步骤,测试用例的选取,测试的结果。 (二) (三) (四) 五、总结通过此次实验,熟悉了链表在实际应用中的简单操作,通过实际数产生函数,完成了一系列银行活动的模拟,可以给银行业务的办理提供更大的便利。 实验中,存在问题,在进行了一系列的修改和请教下,解决了问题。 利用随机产生种子进行事件的模拟,即到达和办理业务的时间都是随机产生。如果事件尚未到达下班时间,则将插

7、入到空列队或者是人数(元素)最少的列队,通过检验,算出在不同服务窗口数下的等待时间以及服务时间,基本实现了银行业务的模拟。六、附件(代码、部分图表) inkLis.h #defi 2 #defn jiang 5 #defi chli 1#icde #inlde inclu #include nclude include#e RUE1#defie FALS0 #dfine OK 1 #define ERROR 0 typedef nt Satus; typeef int Boolea; yeef suc int OcuTime; it Nype; Even,ElemType; typedef s

8、truct LNde /结点类型*/Eleyp dta;Noe nxt;Lik,*Poston; strt LinkLis /*链表类型/ Linkhead,il; intlen; ; ty LkListEventList; EventLis e; Eent en,e;vd InitList(LkLst &) *构造一个空的线性表*/ Link p; =(Link)mallo(izef(Noe)); i(p) -e=NUL; Lhad=taip; Llen0; ele i(ERRR); Sts DeFirs(Linkist L,Lik h,Link&q) q=h-nt; if() /链表非空*

9、/ -ext=q-nt; i(!h-next) *删除尾结点*/ Ltail=; /*修改尾指针* len-; eurn O; else ru FAE; EeTyp GetCurEle(Lnk p) /*已知P指向线性链表中的一个结点,返回P所指结点中数据元素的值*/ reurp-dt; tatus ListEmp(LinkLit L) if(.le) reun FALS; e eurn RUE; Postin GetHd(LinkList) *返回线性链表L中头结点的位置*/ etrn L.ad; vid OreInsert(LinkList L,ElemTy ,n(*omp)(ElType

10、,lem) Lin ,p,q; q=Lhed; pq-net; whie(p!=LL&comp(p-data,e)nex; (Ln)malloc(szeof(LNde); o-atae; *赋值*/ q-nex=o; /*插入*/ o-nt=p; L.len; /表长加一* if(!) /*插在表尾/ Llo; 修改尾结点*/ Queh tpde stct in Arrivaime; intDuration; *办理事务所需时间/QEepe; /*定义队列的数据元素类型为结构体类型/ypedef srct Nod lmTpe da; QN*next;euPtr;tructueue QuuePt

11、r ot,rear; /*队头队尾指针*/ ; voi IntQueue(ikueue&Q) /*构造一个空队列* if(!(Q.frontre(QueuePtr)alloc(sief(QNode))) exit(OVFOW); Q.fnt-next=UL; id DstroyQueue(Linkuu &) ile(Qfront) .rear=Qnt-nex; fr(Q.front); Q.ft=Q.ra; Satus QuueEmpty(Linkueu Q) f(Q.fronexNULL) rern TRUE; els etr L; nt ueueLeth(iQuu Q) *求队列的长度*/ in io; uuePtr p; p=Q.front; whle(Q.r!=) i+; p-ex; en i; SttusGtead(LnkQueue QQElTyee) QueeP; if(frot=Q.ra) retrn RRR; =.frnt

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 劳务/用工合同

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号