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人)会提示无法继续取号

扩展建议

  • 添加数据持久化功能
  • 实现多线程支持
  • 添加图形用户界面
  • 支持更多业务类型
  • 添加优先级队列功能
相关推荐
C++ 老炮儿的技术栈4 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
大阿明4 小时前
Spring Boot(快速上手)
java·spring boot·后端
AI科技星4 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
墨香幽梦客5 小时前
API集成技术规范:RESTful与GraphQL在企业系统对接中的应用对比
后端·restful·graphql
刀法如飞6 小时前
AI编程时代,为什么35岁以上程序员会更吃香?
人工智能·后端·ai编程
小码哥_常6 小时前
Spring Boot 遇上 HMAC-SHA256,API 安全大升级!
后端
always_TT6 小时前
C语言中的字符与字符串(char数组)
c语言·开发语言
小码哥_常6 小时前
10分钟极速掌握!SpringBoot+Vue3整合SSE实现实时消息推送
后端
forAllforMe6 小时前
LAN9252 从机寄存器配置--C语言举例
c语言·开发语言
17(无规则自律)6 小时前
【Linux驱动实战】:字符设备之ioctl与mutex全解析
linux·c语言·驱动开发·嵌入式硬件