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

扩展建议

  • 添加数据持久化功能
  • 实现多线程支持
  • 添加图形用户界面
  • 支持更多业务类型
  • 添加优先级队列功能
相关推荐
雨中散步撒哈拉1 分钟前
14、做中学 | 初二上期 Golang集合Map
开发语言·后端·golang
陈老师还在写代码7 分钟前
springboot 打包出来的 jar 包的名字是在哪儿决定的
spring boot·后端·jar
熊小猿9 小时前
在 Spring Boot 项目中使用分页插件的两种常见方式
java·spring boot·后端
paopaokaka_luck9 小时前
基于SpringBoot+Vue的助农扶贫平台(AI问答、WebSocket实时聊天、快递物流API、协同过滤算法、Echarts图形化分析、分享链接到微博)
java·vue.js·spring boot·后端·websocket·spring
小蒜学长10 小时前
springboot酒店客房管理系统设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
橙子家10 小时前
Serilog 日志库简单实践(一):文件系统 Sinks(.net8)
后端
Yeats_Liao11 小时前
Go Web 编程快速入门 13 - 部署与运维:Docker容器化、Kubernetes编排与CI/CD
运维·前端·后端·golang
Yeats_Liao11 小时前
Go Web 编程快速入门 14 - 性能优化与最佳实践:Go应用性能分析、内存管理、并发编程最佳实践
前端·后端·性能优化·golang
七夜zippoe12 小时前
仓颉语言核心特性深度解析——现代编程范式的集大成者
开发语言·后端·鸿蒙·鸿蒙系统·仓颉
软件架构师-叶秋12 小时前
spring boot入门篇之开发环境搭建
java·spring boot·后端