资源描述:
《数据结构课程设计(银行排队系统)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、(贵州人学计算机科学与信息学院贡献)#include#include#include#include#include#definen3intvipl=O;inty,z;floatsum1=0,sum2=0,sum3=0,sum4=05sum5=0;floati1=0,i2=0,i3=0,i4=0,i5=0;floatave1=0,ave2=0,ave3=0,ave4=0,ave5=0;structListintA[n+lJ;〃顾客用來办理业务的N
2、个窗口intlen;}L;〃表示数组屮的元索个数structLnode{〃链表结点类型intdata;Lnode*next;};structLinkqueue{〃链式存储的等候队列的类型定义Lnode*front;Lnode*rear;}Q;voidInitshiizu()〃初始化线性的算法for(inti=l;i<=n;i++)L.A[iJ=0;〃元索值为0,表示编号为I的窗口当前状态为空L.len=0;voidInitqueue()〃初始化队列的算法Q.front=Q.rear=(Lnode*)malloc(sizeof(Lnode
3、));Q.front->next=NULL;}voidEnqueue(Linkqueue*Q,intelem)〃进队算法Lnode*s;s=(Lnode*)maHoc(sizeof(Lnode));s->data=clcm;s->next=NULL;Q->rear->next二s;Q->rear=s;}intDlqueue(Linkqueue*Q)//II队算法{Lnode*t;intx;if(Q->front==Q->rear){printf(”队列为空!H);exit(l);}else{t=Q->front->next;Q->
4、front->next=t->next;x=t->data;free(t);returnx;}}voidprintl()〃输出数组算法{二号柜台三号柜台”);inti;printfC*正在办理业务的顾客编号为:一号柜台printfC*“);for(i=l;i<=L.len;i++){printf(n%d号客户”,L.A[i]);}printf(HM);}voidprint2()〃输出队列算法{inti=0;printf(n正在等候办理业务的顾客编号为:”);Lnode*s=Q.front->next;while(s!=NULL)
5、{printf(H%dM,s->data);s=s->next;printf(”您的前面一共有%(1人在排队,请您稍候!“,i);printf(””);}voiddaoda(intx)〃解决顾客到达事件算法{inti=L」en+l;if(L.lenL.len){printf(H输入有误!请重新输入:“);scanf(”%d",&x);}elsefor
6、(i=0;i<=L.len;i++){if(i==x){printf(噂敬的%d号顾客您好!“,x);L.A[i]=0;L.len—;if(Q.front!=Q.rcar)inty=Dlqueue(&Q);L.Ali]=y;L」en++;}whilc(i==O);intguitai()//判断输入的柜台号是否正确{inty=0;printf("iw输入你所办理业务的柜台号(1-3):");scanf(”%d“,&y);if(y5){printf(”你输入的柜台号有误,请重新输入!");printf("请输入你所办理
7、业务的柜台号(1-3):");scanf(”%d“,&y);}elseprintf(M你所办理业务的柜台为%d.u,y);rctumy;intpingfeng()〃判断输入的分数是否正确{inty=0;printf("请输入你评分(1-5):1分非常不满意;2分比较不满意;3分一般满意;4分比较满意;5分非常满意。”);printf(”请输入:”);scanf(”%d”,&y);if(y5){printf(H你输入评分有误,请重新输入!n);printf(“请输入你的评分(1-5):H)
8、;scanf(”%(T',&y);}elseprintf(n你的评分为%d.”,y);returny;voidmygrade()〃主评分隊I数{printfC*为了改善服务质量,请你对我们的服务进行评价