C#,《小白学程序》第六课:队列(Queue)其二,队列的应用,编写《实时叫号系统》

医院里面常见的《叫号系统》怎么实现的?

1 文本格式

/// <summary>

/// 下面定义一个新的队列,用于演示《实时叫号系统》

/// </summary>

Queue<Classmate> q2 = new Queue<Classmate>();

/// <summary>

/// 《小白学程序》第六课:队列(Queue)的应用------------《实时叫号系统》

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button6_Click(object sender, EventArgs e)

{

// #1 排队

int n = 8;

for (int i = 0; i < n; i++)

{

if (matesi.Gender == "男")

{

q2.Enqueue(matesi);

}

}

// #2 启动《实时叫号系统》

// 每间隔2秒(2000毫秒)钟叫一个人

timer1.Interval = 2000;

// 给 true 是启动;给 false 就是停止!

timer1.Enabled = true;

}

/// <summary>

/// 《实时叫号系统》的运行

/// 本函数只有被"启动"才执行。

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void timer1_Tick(object sender, EventArgs e)

{

// 当队列里面还有成员的时候;

if (q2.Count > 0)

{

// 显示第一位成员信息

Classmate m = q2.Dequeue();

webBrowser1.DocumentText = m.Id + " " + m.Name + ": " + m.Gender;

}

else

{

webBrowser1.DocumentText = "没人啦!";

}

}

2 代码格式

cs 复制代码
/// <summary>
/// 下面定义一个新的队列,用于演示《实时叫号系统》
/// </summary>
Queue<Classmate> q2 = new Queue<Classmate>();

/// <summary>
/// 《小白学程序》第六课:队列(Queue)的应用------------《实时叫号系统》
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button6_Click(object sender, EventArgs e)
{
    // #1 排队
    int n = 8;
    for (int i = 0; i < n; i++)
    {
        if (mates[i].Gender == "男")
        {
            q2.Enqueue(mates[i]);
        }
    }

    // #2 启动《实时叫号系统》
    // 每间隔2秒(2000毫秒)钟叫一个人
    timer1.Interval = 2000;
    // 给 true 是启动;给 false 就是停止!
    timer1.Enabled = true;
}

/// <summary>
/// 《实时叫号系统》的运行
/// 本函数只有被"启动"才执行。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timer1_Tick(object sender, EventArgs e)
{
    // 当队列里面还有成员的时候;
    if (q2.Count > 0)
    {
        // 显示第一位成员信息
        Classmate m = q2.Dequeue();
        webBrowser1.DocumentText = m.Id + " " + m.Name + ": " + m.Gender;
    }
    else
    {
        webBrowser1.DocumentText = "没人啦!";
    }
}

你非常幸运读到的是第一本真正的程序教程。

相关推荐
知识分享小能手10 分钟前
C学习教程,从入门到精通,C语言指针 —— 详细知识点总结(10)
c语言·开发语言·学习
熊猫钓鱼>_>13 分钟前
开源鸿蒙平台 KMP 三方库 kotlin-csv 适配全流程:从编码假设到沙箱真机互通验证
开发语言·人工智能·华为·kotlin·harmonyos·鸿蒙
张张123y19 分钟前
# 后端第七课:FastAPI 实战入门(用刚学的 Python 写第一个 API 接口)
开发语言·python·mysql·api·fastapi
小陈不好吃33 分钟前
Java 泛型与类型擦除:从 PECS 原则到 TypeToken 绕过
java·开发语言·windows·pecs 原则·typetoken绕过
Shaoshing1 小时前
存储引擎与架构
java·开发语言·架构
额额额对了1 小时前
Linux 驱动开发:基于 platform 总线 + misc 设备的 DS18B20 单总线温度驱动
linux·c语言·开发语言·驱动开发·嵌入式硬件
devilnumber1 小时前
Java 代理模式(简单理解回顾)
java·开发语言·代理模式
invicinble2 小时前
对服务器资源的理解--理解用户请求,部署,服务器资源相关的映射层
开发语言
漫步人生走在路上2 小时前
用小语种SEO突破外贸B2B天花板:法语、德语市场的实测数据
开发语言·前端·javascript·人工智能·搜索引擎·ecmascript
yuniko-n2 小时前
【JUC】线程池
java·开发语言