数据结构——数据结构模拟银行排号叫号系统参考
数据结构模拟银行排号叫号系统参考
4/27.作业三
用队列的简单操作实现,代码较简单,提示信息易懂
- 定义一个结构体SqQueue
- 判断队列是否为空
- 判断队列是否已满
- 向队列中插入元素
- 元素e出队,并用e来返回
- 队列初始化,同时让标记变量IsInit标记为TRUE;
- 获得队头元素
- 求队列长度
完整代码如下:
#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;
}
数据结构——数据结构模拟银行排号叫号系统参考相关推荐
- C语言-实现一个简易的银行排号叫号系统
这两天在网上看到这个题目,感觉挺有意思,就做了一下.我在网上看到其他人都是用C++做的,因为不懂C++语言,没看懂,尝试着用C语言做了该题.希望能来看该题的大神指点指点,估计还有些bug没找出来. 本 ...
- 模拟银行窗口排队叫号系统的运作
最近在网上看到了一道面试题,初看很简单,细看有点意思的一道题目: http://blog.csdn.net/zhangxiaoxiang/archive/2011/04/01/6294132.aspx ...
- 排队叫号机自助取票机取号机医院大厅排队排号叫号系统
北京融威众邦电子技术有限公司专注于医疗便民服务,开展以各级医疗机构为主体的互联网+医院平台建设及运营.通过线上交易与线下自主可控设备相结合,以各级医疗机构为主体,建设数据中心,清分中心,便民服务中心, ...
- java毕业设计——基于java+Socket+Java GUI的银行排号系统设计与实现(毕业论文+程序源码)——排号系统
基于java+Socket+Java GUI的银行排号系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+Java GUI的银行排号系统设计与实现,文章末尾附有本毕 ...
- Java银行排号系统
技术:Java等 摘要: 银行排号系统是为解决一些服务业营业大厅排队问题而设计的,它能够有效地提高工作人员的工作效率,也能够使顾客合理的安排等待时间,让顾客感到服务的公平公正.论文首先讨论了排号系统的 ...
- 51单片机银行自助排队叫号系统VIP热敏打印功能DY-SV17F语音播报
实践制作DIY- GC0138-银行自助排队叫号系统VIP 基于51单片机设计---银行自助排队叫号系统VIP 二.功能介绍: STC89C52最小系统板+0.96寸OLED显示器+DY-SV17F语 ...
- 数据结构课设--医院排号系统
医院排号系统 数构课设 为时一个礼拜的课设终于完成了 来小小的记录一下我的成果~(虽然系统功能很简单,甚至有些功能还有点问题 ) 课设实验报告 具体的实验报告文档我放在我的资源里了,有兴趣的小伙伴可以 ...
- 毕业设计 银行排号系统的设计与实现
文章目录 一.项目设计 1. 模块设计 (1) 服务器端 (2) 客户端 2. 实现效果 二.部分源码 项目源码 一.项目设计 1. 模块设计 该系统功能从服务器端和客户端角度来说可分以下两大模块,具 ...
- 基于Java语言实现模拟银行存取款业务系统
资源下载地址:https://download.csdn.net/download/sheziqiong/85820969 1.项目简介 本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行 ...
最新文章
- android 流失布局,Android使用RecyclerView实现流式布局的注意事项
- UE4 美术学习笔记和经验
- c语言赋值运算符 amp amp 怎么读,重载赋值运算符 amp;amp; 对象
- UnitTest测试框架全栈详解
- 通过TXT文件批量生成PDF417码
- php工作表,工作表的标签在工作表的什么地方
- 利用第三方软件识别图片文字并转换为文本
- 文字闪图怎么做?如何制作gif闪图?
- 《我叫MT》手游源码和资源下载
- LC-3 机器语言 指令集
- 将WordPress后台的open-sans字体加载源从Google Fonts换为360 CDN
- 抖音seo源码.源代码开发可二开搭建/抖音seo优化系统代开发
- 拜耳启动营养补充计划,到2030年每年帮助全球5000万人获得维生素和矿物质
- 手机变速齿轮_变速齿轮神途官方版下载-变速齿轮神途手游官方版下载 v2.20190828-114手机乐园...
- 阿俊带你用Kotlin刷算法(三)
- python读取pdf文件_深入学习python解析并读取PDF文件内容的方法
- vue项目title设置问题
- Linux环境下Nginx部署静态资源文件。
- 华为ModelArts自定义镜像(PyTorch镜像)
- linux添加一个nand设备,[教程]使用buildroot完全自定义自己的embedded linux系统(nand)...