用c语言写一个银行叫号系统
时间: 2023-11-25 15:06:55 浏览: 210
好的,以下是一个简单的银行叫号系统的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int customer = 1; // 客户编号
int queue[10] = {0}; // 队列,最多等待10个客户
int front = 0; // 队首指针
int rear = 0; // 队尾指针
srand((unsigned int)time(NULL)); // 设置随机数种子
while (1) {
printf("当前客户编号:%d\n", customer);
printf("请等待叫号...\n");
if (rear - front < 10) { // 如果队列未满
queue[rear % 10] = customer++; // 顾客进入队列,编号加1
rear++; // 队尾指针加1
}
if (front != rear) { // 如果队列不为空
int current_customer = queue[front % 10]; // 取出队首客户
front++; // 队首指针加1
printf("请 %d 号客户前往窗口办理业务\n", current_customer);
}
int wait_time = rand() % 5 + 1; // 随机等待时间1~5秒
printf("请等待 %d 秒...\n\n", wait_time);
sleep(wait_time); // 等待
}
return 0;
}
```
这个银行叫号系统的逻辑是,每次循环先打印当前客户编号和提示信息,然后判断队列是否未满,如果未满则将当前客户进入队列,客户编号加1,队尾指针加1;然后判断队列是否为空,如果不为空则取出队首客户,队首指针加1,打印叫号信息;最后随机生成等待时间,打印等待信息并等待。这样循环下去,就可以实现银行叫号系统的基本功能。
阅读全文