数据结构模拟银行排号叫号系统参考

4/27.作业三

用队列的简单操作实现,代码较简单,提示信息易懂

  1. 定义一个结构体SqQueue
  2. 判断队列是否为空
  3. 判断队列是否已满
  4. 向队列中插入元素
  5. 元素e出队,并用e来返回
  6. 队列初始化,同时让标记变量IsInit标记为TRUE;
  7. 获得队头元素
  8. 求队列长度

完整代码如下:

#include<stdio.h>
#include<string.h>
#include<stack>
#include<queue>#define MAXQSIZE 101//实际可排100个号
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0int IsInit=FALSE;
typedef int ElemType;
typedef int Status;typedef struct
{ElemType data[MAXQSIZE];int front;int rear;
}SqQueue;Status QueueEmpty(SqQueue Q)//判断队列是否为空
{if(Q.front==Q.rear)return TRUE;elsereturn FALSE;
}Status QueueFull(SqQueue Q)//判断队列是否已满
{if((Q.rear+1)%MAXQSIZE==Q.front)return TRUE;return FALSE;
}Status EnQueue(SqQueue &Q,ElemType e)//元素e入队尾
{if(QueueFull(Q)) return ERROR;Q.data[Q.rear]=e;Q.rear=(Q.rear+1)%MAXQSIZE;return OK;
}Status DeQueue(SqQueue &Q,ElemType &e)//元素e出队,并用e来返回
{if(QueueEmpty(Q)) return ERROR;e=Q.data[Q.front];Q.front=(Q.front+1)%MAXQSIZE;return OK;
}void InitQueue(SqQueue &Q)//队列初始化,同时让标记变量IsInit标记为TRUE;
{Q.front=Q.rear=0;IsInit = TRUE;
}Status GetHead(SqQueue Q,ElemType &e)//获得队头元素
{if(QueueEmpty(Q)) return ERROR;e=Q.data[Q.front];return OK;
}int QueueLength(SqQueue Q)//求队列长度
{return (Q.rear+MAXQSIZE-Q.front)%MAXQSIZE;
}int main()
{int slt,num=0;SqQueue Q;ElemType e;while(1){  printf("===========银行排号叫号模拟系统功能菜单============\n");printf("===================================================\n");printf("1:开始上班\n");printf("2:排号\n");printf("3:叫号\n");printf("0:下班\n");printf("===================================================\n");scanf("%d",&slt);switch(slt){case 0:if (!IsInit ) {printf("请先选择开始上班,做好准备工作!\n\n");break;}if(QueueEmpty(Q))   {printf("@@今天下班,快乐回家!\n\n"); return 0;} else{printf("@@目前还有排号未办理业务的顾客,暂不能下班哦,加油!\n\n");break;}case 1:IsInit = TRUE;if (!IsInit ) {printf("Q@@请先选择开始上班,做好准备工作!\n\n");break;}InitQueue(Q);printf("@@准备就绪,一天新的开始有个好心情!\n\n");break;case 2:if (!IsInit ) {printf("@@请先选择开始上班,做好准备工作!\n\n");break;}if(!QueueFull(Q)){EnQueue(Q, ++num) ;printf("@@当前是%d号,前面还有%d人等待。\n\n",num,QueueLength(Q)-1);}elseprintf("@@人数已满!!!\n\n");break;case 3:if (!IsInit ) {printf("请先选择开始上班,做好准备工作!\n\n");break;}if(DeQueue(Q, e))printf("@@%d号顾客业务办理成功,谢谢下次光临!目前还有%d个人等待办理。\n\n",e,QueueLength(Q));elseprintf("@@目前暂无需要办理业务的顾客!!!\n\n");break;default:printf("@@无效操作,请重新选择菜单!\n\n");break;}}return OK;
}

数据结构——数据结构模拟银行排号叫号系统参考相关推荐

  1. C语言-实现一个简易的银行排号叫号系统

    这两天在网上看到这个题目,感觉挺有意思,就做了一下.我在网上看到其他人都是用C++做的,因为不懂C++语言,没看懂,尝试着用C语言做了该题.希望能来看该题的大神指点指点,估计还有些bug没找出来. 本 ...

  2. 模拟银行窗口排队叫号系统的运作

    最近在网上看到了一道面试题,初看很简单,细看有点意思的一道题目: http://blog.csdn.net/zhangxiaoxiang/archive/2011/04/01/6294132.aspx ...

  3. 排队叫号机自助取票机取号机医院大厅排队排号叫号系统

    北京融威众邦电子技术有限公司专注于医疗便民服务,开展以各级医疗机构为主体的互联网+医院平台建设及运营.通过线上交易与线下自主可控设备相结合,以各级医疗机构为主体,建设数据中心,清分中心,便民服务中心, ...

  4. java毕业设计——基于java+Socket+Java GUI的银行排号系统设计与实现(毕业论文+程序源码)——排号系统

    基于java+Socket+Java GUI的银行排号系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+Java GUI的银行排号系统设计与实现,文章末尾附有本毕 ...

  5. Java银行排号系统

    技术:Java等 摘要: 银行排号系统是为解决一些服务业营业大厅排队问题而设计的,它能够有效地提高工作人员的工作效率,也能够使顾客合理的安排等待时间,让顾客感到服务的公平公正.论文首先讨论了排号系统的 ...

  6. 51单片机银行自助排队叫号系统VIP热敏打印功能DY-SV17F语音播报

    实践制作DIY- GC0138-银行自助排队叫号系统VIP 基于51单片机设计---银行自助排队叫号系统VIP 二.功能介绍: STC89C52最小系统板+0.96寸OLED显示器+DY-SV17F语 ...

  7. 数据结构课设--医院排号系统

    医院排号系统 数构课设 为时一个礼拜的课设终于完成了 来小小的记录一下我的成果~(虽然系统功能很简单,甚至有些功能还有点问题 ) 课设实验报告 具体的实验报告文档我放在我的资源里了,有兴趣的小伙伴可以 ...

  8. 毕业设计 银行排号系统的设计与实现

    文章目录 一.项目设计 1. 模块设计 (1) 服务器端 (2) 客户端 2. 实现效果 二.部分源码 项目源码 一.项目设计 1. 模块设计 该系统功能从服务器端和客户端角度来说可分以下两大模块,具 ...

  9. 基于Java语言实现模拟银行存取款业务系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85820969 1.项目简介 本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行 ...

最新文章

  1. android 流失布局,Android使用RecyclerView实现流式布局的注意事项
  2. UE4 美术学习笔记和经验
  3. c语言赋值运算符 amp amp 怎么读,重载赋值运算符 amp;amp; 对象
  4. UnitTest测试框架全栈详解
  5. 通过TXT文件批量生成PDF417码
  6. php工作表,工作表的标签在工作表的什么地方
  7. 利用第三方软件识别图片文字并转换为文本
  8. 文字闪图怎么做?如何制作gif闪图?
  9. 《我叫MT》手游源码和资源下载
  10. LC-3 机器语言 指令集
  11. 将WordPress后台的open-sans字体加载源从Google Fonts换为360 CDN
  12. 抖音seo源码.源代码开发可二开搭建/抖音seo优化系统代开发
  13. 拜耳启动营养补充计划,到2030年每年帮助全球5000万人获得维生素和矿物质
  14. 手机变速齿轮_变速齿轮神途官方版下载-变速齿轮神途手游官方版下载 v2.20190828-114手机乐园...
  15. 阿俊带你用Kotlin刷算法(三)
  16. python读取pdf文件_深入学习python解析并读取PDF文件内容的方法
  17. vue项目title设置问题
  18. Linux环境下Nginx部署静态资源文件。
  19. 华为ModelArts自定义镜像(PyTorch镜像)
  20. linux添加一个nand设备,[教程]使用buildroot完全自定义自己的embedded linux系统(nand)...

热门文章

  1. 【HLL】使用 HyperLogLog 去重案例
  2. BIM模型文件下载——人性化办公楼BIM模型
  3. cad计算机面积和周长,cad怎么算面积和周长(cad面积计算方式)
  4. HTML 格式化标签
  5. 用PS给包装盒制作自己喜欢的贴图
  6. 2020年,小小程序员平庸但不怂的一年
  7. docker error:在容器内无法运行yum -y update,因为没有root权限
  8. PDF注释打印不出来是怎么回事?
  9. linux红帽给文件加密,红帽大神制作 Linux 工具,用于旧款罗技无线键盘加密设置...
  10. git-将分支合并到主分支