数据结构课程设计(银行排队系统) 联系客服

发布时间 : 星期日 文章数据结构课程设计(银行排队系统)更新完毕开始阅读b51cc07bf78a6529657d535d

(贵州大学计算机科学与信息学院贡献)

#include #include #include #include #include #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; }

void Enqueue(Linkqueue *Q,int elem) //进队算法 {

Lnode *s;

s=(Lnode *)malloc(sizeof(Lnode)); s->data=elem; s->next=NULL; Q->rear->next=s; Q->rear=s; }

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; x=t->data; free(t); return x; } }

void printl() //输出数组算法 { int i;

printf(\正在办理业务的顾客编号为: 一号柜台 printf(\ \ for( i=1;i<=L.len;i++) { printf(\号客户 \ } printf(\ }

void print2() //输出队列算法 { int i=0;

printf(\正在等候办理业务的顾客编号为:\ Lnode *s=Q.front->next; while(s!=NULL) { printf(\ s=s->next;

二号柜台三号柜台\\n\ i++; } printf(\您的前面一共有%d人在排队,请您稍候!\ printf(\}

void daoda(int x) //解决顾客到达事件算法 { int i=L.len+1; if (L.len

else

Enqueue(&Q,x); }

void likai(int x) //解决顾客离开事件算法 { int i=0; do { if(x>L.len) { printf(\输入有误!\\n请重新输入:\ scanf(\ } else for(i=0;i<=L.len;i++) { if(i==x) { printf(\尊敬的%d号顾客您好!\\n\ L.A[i]=0; L.len--; if(Q.front!=Q.rear) { int y=Dlqueue(&Q); L.A[i]=y; L.len++; } }

} }while(i==0); }

int guitai( ) //判断输入的柜台号是否正确 { int y=0;

printf(\请输入你所办理业务的柜台号(1-3):\\n\ scanf(\ if(y<1||y>5) { printf(\你输入的柜台号有误,请重新输入!\\n\ printf(\请输入你所办理业务的柜台号(1-3):\\n\ scanf(\ } else printf(\你所办理业务的柜台为%d.\\n\ return y; }

int pingfeng( ) //判断输入的分数是否正确 { int y=0;

printf(\请输入你评分(1-5):\\n 1分…………非常不满意;\\n 2分…………比较不满意;\\n 3分…………一般满意;\\n 4分…………比较满意;\\n 5分…………非常满意。\\n\ printf(\请输入:\ scanf(\ if(y<1||y>5) { printf(\你输入评分有误,请重新输入!\\n\ printf(\请输入你的评分(1-5):\\n\ scanf(\ } else printf(\你的评分为%d.\\n\ return y; }

void mygrade() //主评分函数 { printf(\为了改善服务质量,请你对我们的服务进行评价。谢谢!\\n\ z=guitai( ); y=pingfeng( );

switch (z) //柜台评分处理