- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言_课程设计银行排队系统
#include stdio.h
#include malloc.h
#include stdlib.h
#include conio.h
#include time.h
#define n 3
int vip1=0;
int y,z;
float sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;
float i1=0,i2=0,i3=0,i4=0,i5=0;
float ave1=0,ave2=0,ave3=0,ave4=0,ave5=0;
struct List
{
int A[n+1]; //顾客用来办理业务的N个窗口
int len; //表示数组中的元素个数
}L;
struct Lnode
{ //链表结点类型
int data;
Lnode *next;
};
struct Linkqueue
{ //链式存储的等候队列的类型定义
Lnode *front;
Lnode *rear;
}Q;
void Initshuzu() //初始化线性的算法
{
for(int i=1;i=n;i++)
L.A[i]=0; //元素值为0,表示编号为I的窗口当前状态为空
L.len=0;
}
void Initqueue() //初始化队列的算法
{
Q.front=Q.rear=(Lnode *)malloc(sizeof(Lnode));
Q.front-next=NULL; //k1
}
void Enqueue(Linkqueue *Q,int elem) //进队算法
{
Lnode *s;
s=(Lnode *)malloc(sizeof(Lnode));
s-data=elem; //k2
s-next=NULL; //k3
Q-rear-next=s; //k4
Q-rear=s; //k5
}
int Dlqueue(Linkqueue *Q) //出队算法
{
Lnode *t;
int x;
if(Q-front==Q-rear)
{
printf(队列为空!\n);
exit(1);
}
else
{
t=Q-front-next;
Q-front-next=t-next; //k6
x=1; //k7
free(t); //k8
return x;
}
}
void printl() //输出数组算法
{
int i;
printf(正在办理业务的顾客编号为: 一号柜台 二号柜台 三号柜台\n);
printf( );
for( i=1;i=L.len;i++)
{
printf(%d号客户 ,L.A[i]);
}
printf(\n);
}
void print2() //输出队列算法
{ int i=0;
printf(正在等候办理业务的顾客编号为:);
Lnode *s=Q.front-next;
while(s!=NULL)
{
printf(%d ,s-data);
s=s-next; //k9
i++;
}
printf(\n您的前面一共有%d人在排队,请您稍候!,i);
printf(\n);
}
void daoda(int x) //解决顾客到达事件算法
{
int i=L.len+1;
if (L.lenn) //
{ L.A[i]=x;
i++;
L.len++;
}
else
Enqueue(Q,x);
}
void likai(int x) //解决顾客离开事件算法
{
int i=0;
do
{
if(xL.len)
{
printf(输入有误!\n请重新输入:);
scanf(%d,x);
}
else
for(i=0;i=L.len;i++)
{
if(i==x)
{
printf(尊敬的%d号顾客您好!\n,x);
L.A[i]=0;
L.len--;
if(Q.front!=
文档评论(0)