C语言做的排队叫号系统

银行排队叫号系统

系统简介

这是一个使用C语言实现的银行排队叫号系统,支持多种业务类型的排队管理,具有叫号显示、窗口管理和统计功能。

功能特性

1. 排队号码生成

  • A类业务:个人业务(如:A001, A002, ...)
  • B类业务:对公业务(如:B001, B002, ...)
  • C类业务:特殊业务(如:C001, C002, ...)

2. 叫号功能

  • 自动分配空闲窗口
  • 显示当前办理窗口号
  • 显示业务类型和等待时间

3. 窗口管理

  • 支持最多5个服务窗口
  • 实时显示窗口状态(忙碌/空闲)
  • 显示当前办理的客户号码

4. 统计功能

  • 计算平均等待时间
  • 统计总服务客户数
  • 实时显示队列状态

系统要求

  • Windows操作系统
  • GCC编译器
  • 支持GB2312编码的控制台

编译和运行

编译程序

bash 复制代码
gcc -o bank_queue_system bank_queue_system.c

运行程序

bash 复制代码
bank_queue_system

一键编译并运行

bash 复制代码
gcc -o bank_queue_system bank_queue_system.c && bank_queue_system

使用说明

主菜单选项

  1. 取号 (A类业务) - 个人业务排队
  2. 取号 (B类业务) - 对公业务排队
  3. 取号 (C类业务) - 特殊业务排队
  4. 叫号 - 呼叫下一个客户到窗口
  5. 查看系统状态 - 显示当前窗口和队列状态
  6. 查看统计信息 - 显示平均等待时间等统计信息
  7. 退出系统 - 退出程序

操作流程

  1. 客户选择业务类型取号
  2. 系统生成对应的排队号码
  3. 工作人员点击"叫号"按钮
  4. 系统自动分配空闲窗口
  5. 显示叫号信息给客户
  6. 客户到指定窗口办理业务

系统特点

  • 队列管理:使用循环队列实现,支持最多100人同时排队
  • 时间统计:自动计算每个客户的等待时间
  • 窗口分配:智能分配空闲窗口,提高服务效率
  • 状态监控:实时显示系统运行状态

数据结构

Customer结构体

c 复制代码
typedef struct {
    char number[20];        // 排队号码
    char business_type;     // 业务类型 A/B/C
    time_t arrival_time;    // 到达时间
    time_t service_time;    // 开始服务时间
    int wait_time;          // 等待时间(分钟)
    int is_served;          // 是否已服务
} Customer;

Window结构体

c 复制代码
typedef struct {
    int window_id;          // 窗口编号
    char current_number[20]; // 当前办理的号码
    char business_type;     // 业务类型
    int is_busy;           // 是否忙碌
    time_t start_time;     // 开始服务时间
} Window;

注意事项

  1. 系统使用Windows API,仅支持Windows平台
  2. 控制台编码设置为GB2312,确保中文显示正常
  3. 时间统计精确到分钟级别
  4. 队列满时(100人)会提示无法继续取号

扩展建议

  • 添加数据持久化功能
  • 实现多线程支持
  • 添加图形用户界面
  • 支持更多业务类型
  • 添加优先级队列功能
相关推荐
想用offer打牌7 小时前
MCP (Model Context Protocol) 技术理解 - 第二篇
后端·aigc·mcp
2601_949146538 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
KYGALYX8 小时前
服务异步通信
开发语言·后端·微服务·ruby
掘了9 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
爬山算法9 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
Moment9 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
Cobyte10 小时前
AI全栈实战:使用 Python+LangChain+Vue3 构建一个 LLM 聊天应用
前端·后端·aigc
知南x10 小时前
【Ascend C系列课程(高级)】(1) 算子调试+调优
c语言·开发语言
程序员侠客行11 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
Honmaple11 小时前
QMD (Quarto Markdown) 搭建与使用指南
后端