资源描述:
《银行排号系统完整C++代码.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#include#includeusingnamespacestd;classuser{public:intid;intiswait;intarrivetime;intservetime;voidgetserve(){iswait=0;}user(intd=0,ints=1,charty=NULL){id=d;iswait=s;type=ty;servetime=4;}chartype;};classnuser:publicuser{public:nuser(intd=0,ints=1,charty
2、='n'):user(d,s,ty){}};classvuser:publicuser{public:vuser(intd=0,ints=1,charty='v'):user(d,s,ty){}};classouser:publicuser{public:ouser(intd=0,ints=1,charty='o'):user(d,s,ty){}};classbankwindow{public:boolisbuy;intid;userclient;chartype;bankwindow(intd=0,boolis=1,charty=NULL):client(0,1,NULL){id=d;is
3、buy=is;type=ty;}voidhandleuser(){isbuy=0;}};classnwindow:publicbankwindow{public:nwindow(intd=0,boolis=0,charty='n'):bankwindow(d,is,ty){}};classvwindow:publicbankwindow{public:vwindow(intd=0,boolis=0,charty='v'):bankwindow(d,is,ty){}};classowindow:publicbankwindow{public:owindow(intd=0,boolis=0,ch
4、arty='o'):bankwindow(d,is,ty){}};classsim{public:queuenuqueue;queuevuqueue;queueouqueue;nwindownw[3];vwindowvw;owindowow;staticintj;staticintm;staticintg;voiduserenter();voidsimuserenter();voidcalluser();voidsimu();voidhandle(){for(inti=0;i<3;i++)nw[i].handleuser();ow.handleuse
5、r();vw.handleuser();}};intsim::j=1;intsim::m=1;intsim::g=1;voidsim::simuserenter(){nuser*n;vuser*v;ouser*o;for(inti=0;i<5;i++){n=newnuser;n->id=j;j++;nuqueue.push(*n);}v=newvuser;v->id=g;g++;vuqueue.push(*v);o=newouser;o->id=m;m++;ouqueue.push(*o);}voidsim::calluser(){inti;for(i=0;i<3;i++){if(!nuqu
6、eue.empty()&&nw[i].isbuy==0){nw[i].isbuy=1;nw[i].type=nuqueue.front().type;nw[i].id=nuqueue.front().id;nuqueue.pop();}}if(!vuqueue.empty()&&vw.isbuy==0){vw.isbuy=1;vw.type=vuqueue.front().type;vw.id=vuqueue.front().id;vuqueue.pop();}elseif(vuqueue.empty()&&vw.isbuy==0&&!nuqueue.empty()){vw.isbuy=1;
7、vw.type=nuqueue.front().type;vw.id=nuqueue.front().id;nuqueue.pop();}if(!ouqueue.empty()&&ow.isbuy==0){ow.isbuy=1;ow.type=ouqueue.front().type;ow.id=ouqueue.front().id;ouqueue.pop();}elseif(ouqueue.empty()&