银行排队仿真系统
模拟银行排队的仿真系统,内含结构图,可以外部导入用户到达的时间和所选业务表,通过排队论安排最短时间。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-02 14:24 Bank Queuing System
文件 2991 2018-01-02 14:24 Bank Queuing Systemdata.cpp
文件 580 2018-01-02 14:09 Bank Queuing Systemdefine.h
文件 37845508 2018-01-01 16:55 Bank Queuing Systemdefine.h.gch
文件 1843 2018-01-02 14:12 Bank Queuing Systeminput.cpp
文件 105 2018-01-02 14:02 Bank Queuing Systeminput.txt
文件 10265 2018-01-02 14:24 Bank Queuing Systemmain.cpp
文件 1125448 2018-01-02 14:24 Bank Queuing Systemmain.exe
extern int T;
extern event *EVENT;
extern windowQueue *A*B*C;
void InitQueue(windowQueue*&q); //建立链队列
void EnQueue(windowQueue *qevent *x); //入队,x为读入的事件
int DeQueue(windowQueue *qint &temnumint &temE); //出队,以temnum和temE传回队头事件的用户序号和结束时间
int service_information(void); //读取业务表函数
int st(int a); //st=service_time 所选业务对应的时间
int mintime(windowQueue *awindowQueue *bwindowQueue *c); //计算三个窗口队尾最短的结束时间
int MINTIME(windowQueue *awindowQueue *bwindowQueue *c); //计算三个窗口队头最短的结束时间
int Empty(windowQueue *q); //判空队列
int Empty(windowQueue *q)
{
if(q->front==q->rear) return(1);
else return(0);
}
void InitQueue(windowQueue*&q)
{
q=(windowQueue*)malloc(sizeof(windowQueue));
q->front=q->rear=(window*)malloc(sizeof(window));
q->front->next=NULL;
}
void EnQueue(windowQueue *qevent *x)
{
window *temp = (window*)malloc(sizeof(window));
if(temp)
{
temp->eve=x;
temp->next = NULL;
q->rear->next = temp;
}
}
int DeQueue(windowQueue *qint &temnumint &temE){
window *s;
if(q->front==q->rear){
printf(“队列下溢“);
return(0);
}
else{
s=q->front->next;
if(s->next==NULL){
q->front->next=NULL;
q->rear=q->front;
}
else{
q->front->next=s->next;
}
temnum=s->eve->number;
temE=s->eve->E;
free(s);
return(1);
}
}
int service_information(void)
{
int key=1;
system(“CLS“);
printf(“|---------------------------------------|
|----------------业 务 表---------------|
“);
printf(“|---------------------------------------|
“);
printf(“| 序 号 名 称 耗 时 |
“);
printf(“|---------------------------------------|
“);
printf(“| 1 存款业务 3 |
“);
printf(“| 2 取款业务 2 |
“);
printf(“| 3 贷款业务 5 |
“);
printf(“| 4 基金业务 4 |
“);
printf(“| 5 其他业务 6 |
“);
printf(“|---------------------------------------|
“);
flag:printf(“Please input 0 to return.
“);
scanf(“%d“&key);
if(key==0) return 0;
else
{
printf(“
Wrong input! Please try again.
“);
goto flag;
}
}
int mintime(windowQueue *awindowQueue *bwindowQueue *c){
if(a->rear->eve->E<=b->rear->eve->E){
if(a->rear->eve->E<=c->rear->eve->E)return(1);
else return(3);
}
else if(b->rear->eve->E>=c->rear->eve->E){
return(3);
}
else return(2);
}
int MINTIME(windowQueue *awindowQueue *bwindowQueue *c){
if(a->front->next->eve->E<=b->front->next->eve->E){
if(a->front->next->eve->E<=c->front->next->eve->E)return(1);
else return(3);
}
else if(b->front->next->eve->E>=c->front->next->eve->E){
return(3);
}
else return(2);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-02 14:24 Bank Queuing System
文件 2991 2018-01-02 14:24 Bank Queuing Systemdata.cpp
文件 580 2018-01-02 14:09 Bank Queuing Systemdefine.h
文件 37845508 2018-01-01 16:55 Bank Queuing Systemdefine.h.gch
文件 1843 2018-01-02 14:12 Bank Queuing Systeminput.cpp
文件 105 2018-01-02 14:02 Bank Queuing Systeminput.txt
文件 10265 2018-01-02 14:24 Bank Queuing Systemmain.cpp
文件 1125448 2018-01-02 14:24 Bank Queuing Systemmain.exe
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)