银行排号系统完整C++代码.docx
- 文档编号:29408702
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:11
- 大小:15.22KB
银行排号系统完整C++代码.docx
《银行排号系统完整C++代码.docx》由会员分享,可在线阅读,更多相关《银行排号系统完整C++代码.docx(11页珍藏版)》请在冰豆网上搜索。
银行排号系统完整C++代码
资料范本
本资料为word版本,可以直接编辑和打印,感谢您的下载
银行排号系统完整C++代码
地点:
__________________
时间:
__________________
说明:
本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容
#include
#include
#include
#include
usingnamespacestd;
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='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;
isbuy=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,charty='o'):
bankwindow(d,is,ty){}
};
classsim
{
public:
queue
queue
queue
nwindownw[3];
vwindowvw;
owindowow;
staticintj;
staticintm;
staticintg;
voiduserenter();
voidsimuserenter();
voidcalluser();
voidsimu();
voidhandle()
{
for(inti=0;i<3;i++)
nw[i].handleuser();
ow.handleuser();
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(!
nuqueue.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;
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()&&ow.isbuy==0&&!
nuqueue.empty())
{
ow.isbuy=1;
ow.type=nuqueue.front().type;
ow.id=nuqueue.front().id;
nuqueue.pop();
}
}
voidsim:
:
userenter()
{
inti;
for(i=0;i<3;i++)
{
if(nw[i].isbuy==1)
cout<<"普通"<
\n";
else
cout<<"普通"<
!
\n";
}
if(vw.isbuy==1)
cout<<"VIP窗口正在服务"< \n"; else cout<<"VIP窗口空闲! ! \n"; if(ow.isbuy==1) cout<<"对公窗口正在服务"< \n"; else cout<<"对公窗口空闲! ! \n"; if(! nuqueue.empty()) cout<<"普通顾客还有"< "< else cout<<"普通顾客已经无人等待! "< if(! vuqueue.empty()) cout<<"VIP顾客还有"< "< else cout<<"VIP顾客已经无人等待! "< if(! ouqueue.empty()) cout<<"对公顾客还有"< "< else cout<<"对公顾客已经已经无人等待! "< } voidsim: : simu() { longt1,t2; simuserenter(); t1=time(0); t2=time(0); while (1) { cout< calluser(); userenter(); while(fabs(t2-t1-2)>10e-6) { t2=time(0); } cout< simuserenter(); calluser(); userenter(); while(fabs(t2-t1-4)>10e-6) { t2=time(0); } cout< handle(); calluser(); userenter(); while(fabs(t2-t1-6)>10e-6) { t2=time(0); } cout< simuserenter(); userenter(); while(fabs(t2-t1-8)>10e-6) { t2=time(0); } cout< handle(); calluser(); userenter(); while(fabs(t2-t1-12)>10e-6) { t2=time(0); } cout< handle(); calluser(); userenter(); break; } } intmain() { sims; s.simu(); return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 排号 系统 完整 C+ 代码