#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 { 顾客用来办理业务的N个窗口 表示数组中的元素个数 }L; struct Lnode {链表结点类型 int data; Lnode *next; }; struct Linkqueue {链式存储的等候队列的类型定义 Lnode *front; Lnode *rear; }Q; v初始化线性的算法 { for(int i=1;i<=n;i++) 元素值为0,表示编号为I的窗口当前状态为空 L.len=0; } 初始化队列的算法 { Q.front=Q.rear=(Lnode *)malloc(sizeof(Lnode)); Q.front->next=NULL; } void Enqueue(Linkqueue *Q,int elem) //进队算法 { } int Dlqueue(Linkqueue *Q) //出队算法 { 队列为空!\\n"); } v输出数组算法 { 正在办理业务的顾客编号为: 一号柜台 二号柜台 三号柜台\\n"); 号客户 } v输出队列算法 正在等候办理业务的顾客编号为:"); 您的前面一共有%d人在排队,请您稍候!",i); } v解决顾客到达事件算法 } v解决顾客离开事件算法 { 输入有误!\\n请重新输入:"); 尊敬的%d号顾客您好!\\n",x); } i判断输入的柜台号是否正确 { 请输入你所办理业务的柜台号(1-3):\\n"); 你输入的柜台号有误,请重新输入!\\n"); 请输入你所办理业务的柜台号(1-3):\\n"); 你所办理业务的柜台为%d.\\n",y); } i判断输入的分数是否正确 { 请输入你评分(1-5):\分…………非常不满意;分…………比较不满意;\分…………一般满意;\分…………比较满意;\分…………非常满意。\\n"); 请输入:"); 你输入评分有误,请重新输入!\\n"); 请输入你的评分(1-5):\\n"); 你的评分为%d.\\n",y); } v主评分函数 { 为了改善服务质量,请你对我们的服务进行评价。谢谢!\\n"); switch (z) //柜台评分处理 号柜台评分处理 号柜台的平均满意度为%0.2f。感谢你的评分,谢谢\\n",z,ave1); 号柜台评分处理 号柜台的平均满意度为%0.2f。感谢你的评分,谢谢\\n",z,ave2); case 3: //3号柜台评分处理 号柜台的平均满意度为%0.2f。感谢你的评分,谢谢\\n",z,ave3); 你的输入有误,请重新输入!\\n"); } v用户认证 { 请输入你的卡号:"); 请您输入五位密码:"); 尊敬的VIP用户您好,请您直接到VIP区办理业务!\\n"); 尊敬的VIP用户您好,请您直接到VIP区办理业务!\\n"); 尊敬的VIP用户您好,请您直接到VIP区办理业务!\\n"); 尊敬的VIP用户您好,请您直接到VIP区办理业务!\\n"); 尊敬的VIP用户您好,请您直接到VIP区办理业务!\\n"); 你的输入有误!\\n"); } v时间函数 { printf(" 现在时刻:%s",ctime(&timep)); } v主函数 { 屏幕颜色设定 欢迎光临中国银行******************************************\\n"); printf(" 1 顾客到达\\n"); printf(" 2 顾客离开\\n"); printf(" 3 查看业务办理\\n"); printf(" 4 查看排队情况\\n"); printf(" 5 系统查询\\n"); printf(" 6 退出\\n\\n"); printf("\\n 提示:请按回车键进行下一步操作\\n"); 欢迎光临中国银行*******************************************\\n"); 请输入:"); 顾客到达界面*****************************************\\n\\n"); 请选择你的用户类型:VIP用户请按 1;\普通卡用户请按 2.\\n"); 请输入:"); 普通卡顾客计数 尊敬的普通卡用户,你的业务号为%d.\\n",v); 的客户到达时间 请稍候拿号,谢谢!"); 顾客离开界面******************************************\\n\\n"); 请输入离开顾客得编号:\\n"); printf(" 您办理业务所用时间为 %0.2f 秒.\\n",difftime(end,a1)); printf(" 您办理业务所用时间为 %0.2f 秒.\\n",difftime(end,a2)); printf(" 您办理业务所用时间为 %0.2f 秒.\\n",difftime(end,a3)); printf(" 您办理业务所用时间为 %0.2f 秒.\\n",difftime(end,a4)); printf(" 您办理业务所用时间为 %0.2f 秒.\\n",difftime(end,a5)); printf(" 您办理业务所用时间为 %0.2f 秒.\\n",difftime(end,a6)); printf(" 您办理业务所用时间为 %0.2f 秒.\\n",difftime(end,a7)); printf(" 您办理业务所用时间为 %0.2f 秒.\\n",difftime(end,a8)); printf(" 您办理业务所用时间为 %0.2f 秒.\\n",difftime(end,a9)); printf(" 您办理业务所用时间为 %0.2f 秒.\\n",difftime(end,a10)); 业务查询界面*******************************************\\n\\n"); 排队查询界面*******************************************\\n\\n"); 系统查询界面*****************************************\\n\\n"); 请输入你的卡号:"); 请您输入五位密码:"); 至今已有 %d 位普通用户,%d 位vip用户成功办理业务!",w,vip1); 普通用户业务办理总共用时 %0.2f秒,平均用时 %0.2f秒\\n",allsum,average); 输入有误!请重新输入:\\n"); } }