数据结构课程设计(银行排队系统)
更新时间:2023-03-10 23:40:01 阅读量: 教育文库 文档下载
(贵州大学计算机科学与信息学院贡献)
#include
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) //柜台评分处理 { case 1: //1号柜台评分处理 { sum1+=y; i1++; ave1=sum1/i1; printf(\号柜台的平均满意度为%0.2f。感谢你的评分,谢谢!!!\\n\ break; } case 2: //2号柜台评分处理 { sum2+=y; i2++; ave2=sum2/i2; printf(\号柜台的平均满意度为%0.2f。感谢你的评分,谢谢!!!\\n\ break; } case 3: //3号柜台评分处理 { sum3+=y; i3++; ave3=sum3/i3; printf(\号柜台的平均满意度为%0.2f。感谢你的评分,谢谢!!!\\n\ break; } default : printf(\你的输入有误,请重新输入!\\n\ } getch(); } void vip(int x) //vip用户认证 { int i,a; a=x; char ch[3]; int k=0; switch(a) { case 1: { printf(\请输入你的卡号:\ scanf(\ printf(\请您输入五位密码:\ while(ch[k-1]!=' ') { ch[k]=getch(); k++; printf(\ } if(i==100&&ch[0]=='1'&&ch[1]=='1'&&ch[2]=='1'&&ch[3]=='1') { printf(\尊敬的VIP用户您好,请您直接到VIP区办理业务!\\n\ vip1++; } else if(i==200&&ch[0]=='2'&&ch[1]=='2'&&ch[2]=='2'&&ch[3]=='2') { printf(\尊敬的VIP用户您好,请您直接到VIP区办理业务!\\n\ vip1++; } else if(i==300&&ch[0]=='3'&&ch[1]=='3'&&ch[2]=='3'&&ch[3]=='3') { printf(\尊敬的VIP用户您好,请您直接到VIP区办理业务!\\n\ vip1++; } else if(i==400&&ch[0]=='4'&&ch[1]=='4'&&ch[2]=='4'&&ch[3]=='4') { printf(\尊敬的VIP用户您好,请您直接到VIP区办理业务!\\n\ vip1++; } else if(i==500&&ch[0]=='5'&&ch[1]=='5'&&ch[2]=='5'&&ch[3]=='5') { printf(\尊敬的VIP用户您好,请您直接到VIP区办理业务!\\n\ vip1++; } else printf(\你的输入有误!\\n\ break; } default : break; } } void time() //时间函数 { time_t timep; time (&timep); printf(\ 现在时刻:%s\} void main() //主函数 { system(\ //屏幕颜色设定 system(\ time_t a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,end; double b1=0,b2=0,b3=0,b4=0,b5=0,b6=0,b7=0,b8=0,b9=0,b10=0,allsum=0,average=0,xi=0; double A[10]={0,0,0,0,0,0,0,0,0,0}; int c,x,v=0,w=0; Initshuzu(); Initqueue(); double sum=0; while(1) { printf(\欢迎光临中国银******************************************\\n\ printf(\ \\n\ printf(\ 1 顾客到达\\n\ printf(\ 2 顾客离开\\n\ printf(\ 3 查看业务办理\\n\ printf(\ 4 查看排队情况\\n\ printf(\ 5 系统查询\\n\ printf(\ 6 退出\\n\\n\ time(); printf(\ 提示:请按回车键进行下一步操作\\n\ printf(\ \\n\ printf(\欢迎光临中国银*******************************************\\n\ printf(\请输入:\ scanf(\ switch(c) { case 1: { system(\ printf(\顾客到达界*****************************************\\n\\n\ int k=0; int a; printf(\请选择你的用户类型:VIP用户请按 1;\\n 通卡用户请按 2.\\n\ 行 行面普 printf(\请输入:\ scanf(\ if (a==1) { vip(a); getch(); } else { v++; //普通卡顾客计数 printf(\尊敬的普通卡用户,你的业务号为%d.\\n\ daoda(v); if(v==1) { a1=time(NULL); //v=1的客户到达时间 system(\ } else if(v==2) { a2=time(NULL); system(\ } else if(v==3) { a3=time(NULL); system(\ } else if(v==4) { a4=time(NULL); system(\ } else if(v==5) { a5=time(NULL); system(\ } else if(v==6) { a6=time(NULL); system(\ } else if(v==7) { a7=time(NULL); system(\ } else if(v==8) { a8=time(NULL); system(\ } else if(v==9) { a9=time(NULL); system(\ } else if(v==10) { a10=time(NULL); system(\ } else { printf(\请稍候拿号,谢谢!\ system(\ } } system(\ break; } case 2: { system(\ printf(\顾客离开界面******************************************\\n\\n\ printf(\请输入离开顾客得编号:\\n\ scanf(\ likai(x); mygrade() ; w++; if(x=1) { end=time(NULL); A[0]=difftime(end,a1); printf(\ 您办理业务所用时间为 %0.2f 秒.\\n\ } else if(x=2) { end=time(NULL); A[1]=difftime(end,a2); printf(\ 您办理业务所用时间为 %0.2f 秒.\\n\ } else if(x=3) { end=time(NULL); A[2]=difftime(end,a3); printf(\ 秒.\\n\ } else if(x=4) { end=time(NULL); A[3]=difftime(end,a4); printf(\ 秒.\\n\ } else if(x=5) { end=time(NULL); A[4]=difftime(end,a5); printf(\ 秒.\\n\ } else if(x=6) { end=time(NULL); A[5]=difftime(end,a6); printf(\ 秒.\\n\ } else if(x=7) { end=time(NULL); A[6]=difftime(end,a7); printf(\ 秒.\\n\ } else if(x=8) 您办理业务所用时间为 %0.2f 您办理业务所用时间为 %0.2f 您办理业务所用时间为 %0.2f 您办理业务所用时间为 %0.2f 您办理业务所用时间为 %0.2f
正在阅读:
数据结构课程设计(银行排队系统)03-10
七年级语文过关题12-17
三年级数趣60题09-23
春晚转圈女孩小彩旗简介02-13
论概念设计在建筑结构设计中的应用03-06
16春《现代远程学习概论》作业答案05-22
2011年四川省宜宾市中考数学试题(word版及答案)07-27
2021年高中政治 《政治权利和义务:参与政治生活的准则》教案 新人教版必修04-29
新设备启动方案编制10-26
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数据结构
- 排队
- 课程
- 银行
- 设计
- 系统
- 苏政发3号 江苏省人民政府关于进一步深化我省国有企业改革若干问题的实施意见
- 如何避免牙龈癌的发生
- 北环现浇施工组织设计
- 北京市顺义区2015年新农村建设-农宅单项改造(外墙保温)施工组织设计 - 图文
- 广告心理学 案例
- 园林植物作业
- 青岛海尔偿债能力状况分析
- 关于矩阵AB和BA的特征值与特征向量的讨论
- 组织架构与战略执行力的关系
- 开服装店 教你如何进货如何卖货
- 电磁场与电磁波复习题
- 高速铁路接触网安全工作规则(2014)221号
- 湖北省夷陵中学、钟祥一中2011高三12月联考--语文
- 中国财政&货币政策分析:M0,M1,M2,准备金率及通胀
- 仪表车间DCS专业题库
- H3C 中小医院解决方案
- 最新北师大版小学数学五年级上册找质数公开课教学设计 doc
- 2008年对口升学英语模拟试题(二)
- 黑色素瘤的诊断 - 图文
- 通原硬件实验报告 - 图文