c语言银行业务模拟.docx
《c语言银行业务模拟.docx》由会员分享,可在线阅读,更多相关《c语言银行业务模拟.docx(6页珍藏版)》请在第一文库网上搜索。
1、银行业务模拟(2)银行业务模拟(难度系数4)问题描述客户业务分为两种。第一种是申请从银行得到一笔资金,即取款或借款。第二种是向银行投入一笔资金,即存款或换款。银行有两个服务窗II,相应地有两个队列。客户到达银行后先派第一个队列。处理每一个客户业务时,如属于第一种,且申请超出银行现存资金总额而得不到满足的,则立即排入第二个队列等候,直到满足时才离开银行:否则业务处理完后立即离开银行。每接待完一个第二种业务的客户,则顺序检查和处理(如果可能)第二个队列中的客户,对能满足的申请者予以满足,不能满足者重新排到第二个队列的末尾。注意:在此检查过程中,一旦银行资金总额少于或等于刚才第一个队列中最后一个客户
2、(第二种业务)被接待之前的数额,或者本次已将第二个队列检查或处理了一遍,就停止检查(因为此时已不可能还有满足者)转而继续接待第一个队列的客户。任何时刻都只开一个窗口。假设检查不需要时间。营业时间结束时所有客户立即离开银行。写一个上述银行业务的事件驱动模拟系统,通过模拟方法求出客户在银行内逗留的平均时间。基本要求利用动态存储结构实现模拟。测试数据一天营业开始银行拥有的款项IOOOO(元),营业时间为600分钟。其他模拟的参量自定。注意测定两种极端情况:一是两个到达事件之间的间隔很短,而客户的交易时间很长:另一个正好相反,设置两个到达事件的间隔时间很长,而客户之间交易的时间很短。实现提示事件有两类
3、:到达银行和离开银行。初始时银行现存资金总额为Tota1开始营业后的第一个事件是客户到达,营业时间从。到GOSetime。到达事件发生时随机地设置各客户的交易时间和距下一次到达时间之间的时间间隔。每个客户要办理的款项也是随机确定的,用负值和正值分别表示第一类和第二类业务。变量T。takC1oSeTime以及上述两个随机量的上下界均交互地从终端读入,作为模拟参数。两个队列和一个事件表均要用动态的存储结构实现。注意弄清应该在什么条件下设置离开事件,以及第二个队列用怎样的存储结构实现可以获得较高的效率。注意:时间表是按照时间顺序有序的。#inc1ude#inc1ude#inc1udeusingnam
4、espacestd;inttota1;初始时银行现存资金总额intCIoSeTime;营业结束时间intarriveTime;两个到达事件之间的间隔上限intdea1Time;客户之间交易的时间上限intdea1Money=5000;交易额上限intCurrentTime=0;当前时间inttota1Time=0;客户逗留总时间intcounter=0;客户总数intnumber=1;初始客户序列号+structservice(intnum;客户号stringtype;到达或离开intbeginTime;intendTime;intmoney;正数为存款,负数为取款service*next;s
5、tructqueue队列service*head;service*rear;;voidpush(queue&q,intd)/插入元素d为Q的新的队尾元素service*temp=newservice;temp-money=d;temp-next=NU11;if(NU11=q.head)队列为空,初始化q.head=temp;q.rear=temp;ife1se队列不为空,插入元素dq.rear-next=temp;q.rear=q.rear-next;e1sevoidpop(queue&q)/若队列不空,出对列函数service*temp;temp=q.head;iRNU11=q.head-n
6、ext)q.head=q.rear=NU11;e1seq.head=q.head-next;de1etetemp;service*front(qucue&q)返回队首元素returnq.head;service*back(qucue&q)返回队尾元素returnq.rear;service*searchAndDe1(queue&q,intm)在对列中寻找可处理元素service*sign=q.head;标记头节点service*temp;whi!e(NU11!=q.head)(if(-(q.head-money)next;/首节点后移一位,返回原首节点returntemp;e1se)whi1e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 银行业务 模拟
