队列及其应用

实验内容

请设计一个简单的模拟银行排队系统,要求程序具有以下4项菜单:
1.取号。选择该菜单后,为客户产生一个排队号。
2.叫号。选择该菜单后,显示可服务的客户排队号。
3.查看队伍。从队首到队尾列出所有排队客户的排队号。
4.退出系统

完整代码

#include <iostream>
#include<malloc.h> 
using namespace std;
//队列及其应用
#define datatype int
#define MAX 30
typedef struct node
{datatype data;struct node *next;
}QNode; 
typedef struct{QNode *front,*rear;//头尾指针int num; 
}LQueue;
//置一个空链队
LQueue* init_LQueue()
{LQueue* q;QNode *p;q=(LQueue*)malloc(sizeof(LQueue));//申请头尾指针结点p=(QNode*)malloc(sizeof(QNode));//申请链队头结点p->next=NULL;q->front=p;q->rear=p;q->num=0;return q;
}
void In_LQueue(LQueue *q,datatype x)//入队 
{QNode* p;p=(QNode*)malloc(sizeof(QNode));p->data=x;p->next=NULL;q->rear->next=p;q->rear=p;q->num++;
}
int Empty_LQueue(LQueue *q)//判空
{if(q->front==q->rear) return 1;else return 0;
} 
int Out_LQueue(LQueue *q,datatype *x)//出队
{QNode *p;if(Empty_LQueue(q)){cout<<"队空";return 0;}else{p=q->front->next;q->front->next=p->next;*x=p->data;free(p);if(q->front->next==NULL)q->rear=q->front;q->num--;return 1;}
} 
void Display(LQueue* q)
{datatype e;QNode* p=q->front->next;if(Empty_LQueue(q)){cout<<"无"<<endl;}
//	for(int i= 0;i<=q->num;i++)
//	{
//		cout<<p->data<<" ";
//		p=p->next;
//	}//会直接跳出循环 
else{while(p!=NULL){cout<<p->data<<" ";p=p->next;}
}cout<<endl;
}int  Display_num(LQueue* q)
{QNode* p=q->front->next;	return p->data;
}int main()
{cout<<"---------------------银行排队模拟------------------------"<<endl;cout<<"    (1)取号"<<endl;cout<<"    (2)叫号"<<endl;cout<<"    (3)查看队伍"<<endl;cout<<"    (0)取号"<<endl;cout<<"---------------------------------------------------------"<<endl;LQueue *L;L=init_LQueue();//用来放30个号码 LQueue *Q;// 银行系统用的队列 Q=init_LQueue();int a,i;for(i=1;i<=MAX;i++)//过号作废 假设一共30个号 {In_LQueue(L,i); }Display(L);//想要的是,i取L中的,从1开始,叫号一个废一个。 //for(int i =1;i<=L->num;i++)//每次进入循环都是不同的数 第几次进入i就是几 
while(1){cout<<"请选择(0-3): "; cin>>a;switch(a){				case 1:	//for(i;i<4;i++)//想要让i成动态的,选择1一次i+一次//现在i是一次性把for循环走了 //	{//	In_LQueue(L,i);In_LQueue(Q,L->front->next->data);//取号 cout<<"您的排队序号是"<<L->front->next->data<<",";cout<<"前面还有"<< (Q->num)-1<<"人" <<endl;L->front->next=L->front->next->next;break;case 2:cout<<"请序号"<<Display_num(Q)<<"的客户办理业务!"<<endl;Out_LQueue(Q,&(L->front->data));break;case 3:cout<<"目前正在排队的:";Display(Q);break;			case 0:cout<<"--退出银行--"<<endl; break;	default:	cout<<"输入错误!!!" <<endl;break;		}if (a==0)//跳出while {break;}} return 0;
} 

结果展现

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】YOLOv10与YOLOv8分析

YOLOv10与YOLOv8&#xff1a;实时目标检测技术的演进与对比 一、YOLOv8与YOLOv10的概述二、YOLOv8的特点与优势三、YOLOv10的改进与创新四、YOLOv10与YOLOv8的性能对比五、总结与展望 随着深度学习技术的飞速发展&#xff0c;实时目标检测技术已成为计算机视觉领域的研究热点。…

关于yolov8识别滑块关键点

1&#xff0c;images,annotations创建 IMAGES&#xff1a;放图片材料的 ANNTATIONS&#xff1a;放labelImg标记的xml文件 2&#xff0c;labels,txt怎么来的 labels &#xff1a;可以手动创建&#xff0c;里面还配置了train,val,test文件夹。可手动&#xff08;以下代码中没有写…

【渗透测试】DC-1靶机实战(下)SSH爆破提权

【渗透测试】DC-1靶机实战&#xff08;上&#xff09;漏洞扫描获取反弹shell-CSDN博客 7.SSH爆破 hydra ssh://172.20.10.4 -l flag4 -P /usr/share/john/password.lst -t 64 -f -vV -o /tmp/hydra.sshssh://10.10.10.31&#xff1a;指定了要攻击的 SSH 服务的地址。 -l flag…

医学编码系统说明

简介 流程说明 登录系统 在浏览器中访问FNEHR的站点&#xff0c;输入医院编号、用户和密码&#xff0c;选择“Other”&#xff0c;点击“Login”按钮&#xff0c;登录系统&#xff1a; 登录后&#xff0c;在左边显示系统的菜单&#xff1a; 系统设置 医院设置 点击左侧的“Acc…

【电赛】STM32-PID直流减速电机小车【寻迹+避障+跟随】【更新ing】

一.需求分析 1.主控&#xff1a;STM32C8T6&#xff08;没什么好说的哈哈&#xff09; 2.电机&#xff1a;JAG25-370电机 【问】为什么要用直流减速电机&#xff1f;&#xff1f; PID控制器需要依靠精确的反馈信号来调整其输出&#xff0c;确保电机按照预定的速度和位置运行…

用python写一个基于PyQt5和OpenAI的智能问答项目

摘要&#xff1a; 使用python写一个可以对话的智能问答机器人&#xff0c;界面是使用PyQt5写的&#xff0c;通过调用OpenAl的免费接口&#xff0c;实现实时聊天功能。 1.申请免费的API key 前往页面https://github.com/chatanywhere/GPT_API_free 点击下面链接&#xff1a; …

SQL实验 SQL Server数据库的安全性控制

一、实验目的 1&#xff0e;熟悉通过SQL对数据进行安全控制。 2&#xff0e;掌握GRANT与REVOKE语句的使用&#xff0c;熟悉数据库用户的创建和授权。 二、实验内容 &#xff08;一&#xff09;、第一部分&#xff1a;以上先采用图形用户界面进行设置权限&#xff0c;然后试…

65、API攻防——接口安全WebPackRESTSOAPWSDLWebService

文章目录 一、接口类型二、Webservice类——Wsdl&ReadyAPI-SQL注入三、SOAP类——Swagger&SoapUI&EXP-信息泄露四、HTTP类——WebPack&PackerFuzzer-信息泄露 一、接口类型 HTTP类接口PRC类接口 客户端和服务端的连接&#xff0c;非web上的接口&#xff0c;可…

计算机网络9——无线网络和移动网络1 无线局域网 WLAN2

文章目录 一、802.11局域网的 MAC 层协议1、CSMA/CA协议2、时间间隔 DIFS 的重要性3、争用信道的过程4、对信道进行预约 二、802.11局域网的 MAC 帧1&#xff09;关于 802.11 数据帧的地址2&#xff09;序号控制字段、持续期字段和帧控制字段 一、802.11局域网的 MAC 层协议 1…

实战:Zig 编写高性能 Web 服务(2)

1.1 编写 HTTP server 我们从python -m http.server 8000启动得到灵感&#xff0c;先确定好目标&#xff1a; 编写一个HTTP/1.1 http serverzig version 0.12.0 使用zig init搭建项目的前置工作你先自行搭建好&#xff0c;不会的翻看前面铺垫的章节熟悉zig的项目结构。 关键…

神经网络 | 深度学习背后的数学

神经网分析 机器学习处理的是数据&#xff0c;通过学习输入的数据&#xff0c;从而建立模型&#xff0c;以便预测新的数据的输出 按照类型可以进行如下分类 监督分类 非监督分类 强化学习 神经元 生物学中&#xff0c;人的大脑是由多个神经元互相连接形成网络而构成的。也…

2024国内热门大语言模型在科研方面的应用

本博客总结了几款热门的国产大语言模型&#xff0c;帮助大家利用这些大语言模型更好的进行科研。 模型介绍 1.文心一言 链接:https://yiyan.baidu.com/ 开发方&#xff1a;百度 特点&#xff1a;专注于中文语言理解与生成&#xff0c;适合中文文本的语义理解任务。 百度推出…

设计模式-抽象工厂(创建型)

创建型-抽象工厂 角色 抽象工厂&#xff1a; 声明创建一个族产品对象的方法&#xff0c;每个方法对应一中产品&#xff0c;抽象工厂可以是接口&#xff0c;也可以是抽象类&#xff1b;具体工厂&#xff1a; 实现抽象工厂接口&#xff0c;复杂创建具体的一族产品&#xff1b;抽…

web学习笔记(六十三)

目录 1.钩子函数onActivated和onDeactivated 1.1 onActivated 1.2 onDeactivated 2. KeepAlive补充 2.1 include 和 exclude 2.2 的作用是什么? 2.3 组件包含什么prop属性及作用&#xff1f; 2.4 对应那两个生命周期&#xff1f;生命周期什么时机执行&#xff1f; 2.5 …

前端 Web 与原生应用端 WebView 通信交互 - HarmonyOS Next

基于鸿蒙 HarmonyOS Next 与前端 Vue 通信交互相关小结; DevEco Studio NEXT Developer Preview2 Vue js 两端相互拟定好协议后,通过前端页面的点击事件,将所需的数据传输给原生移动端组件方法中,处理后将消息回传至前端. 根据官方文档的案例尝试,但没成功 ... 后经过几经尝试…

GDB调试工具

-D&#xff0c;指定编译内容。 调试: gdb ./a.out 文件名 l可以查看代码内容 c全部执行 n执行下一步 q退出 gdb ./a.out -p id号 查找ID号用管道命令&#xff5c;。

【重磅丨教育设备】推动大规模设备更新和消费品以旧换新行动方案

近日&#xff0c;国务院印发《推动大规模设备更新和消费品以旧换新行动方案》&#xff08;以下简称《行动方案》&#xff09;。《行动方案》提出&#xff1a;实施设备更新行动。提升教育文旅医疗设备水平&#xff0c;推动符合条件的高校、职业院校&#xff08;含技工院校&#…

FarmersWorld农民世界源码开发:0撸卷轴+潮玩模式

一、引言 随着科技的发展&#xff0c;游戏产业日益壮大&#xff0c;一种新型的游戏形式——零撸游戏应运而生。本文将深入探讨FarmersWorld农民世界源码开发&#xff0c;以其独特的0撸卷轴潮玩模式&#xff0c;为玩家带来全新的游戏体验。 二、源码开发的专业性和深度 Farmer…

笔记 | 软件工程01:从程序到软件

1 软件工程知识域 2 程序 2.1 何为程序及程序的质量要求 何为程序&#xff1a; 理解&#xff1a;软件工程可能就是在弥补OOP语言与自然语言之间还存在的鸿沟 2.1.1 程序质量的内在和外在体现 2.1.2 程序质量的语法和语义体现 2.2 编写代码的基本原则 2.3 程序质量保证方法 …

xml创建模型组合体

XML创建模型组合体 创建步骤模型准备模型处理模型文件XML编写 效果 创建步骤 模型准备 CAD 提供的原始模型如下&#xff1a; 该模型存在的问题&#xff1a; 单位问题&#xff1a;CAD出图的是 mm 为单位&#xff0c;但是 mujoco 建模这边用的是以 m 为单位的&#xff1b;原点…