用C语言做一个银行窗口排队管理系统
时间: 2024-01-29 12:03:22 浏览: 107
好的,银行窗口排队管理系统可以使用C语言实现。以下是一个简单的示例程序,可以用来管理银行窗口的排队:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_QUEUE_SIZE 10
typedef struct {
int data[MAX_QUEUE_SIZE];
int front;
int rear;
} Queue;
void initQueue(Queue *q) {
q->front = q->rear = 0;
}
int isQueueEmpty(Queue *q) {
return (q->front == q->rear);
}
int isQueueFull(Queue *q) {
return ((q->rear + 1) % MAX_QUEUE_SIZE == q->front);
}
void enqueue(Queue *q, int value) {
if (isQueueFull(q)) {
printf("Queue is full.\n");
exit(1);
}
q->data[q->rear] = value;
q->rear = (q->rear + 1) % MAX_QUEUE_SIZE;
}
int dequeue(Queue *q) {
if (isQueueEmpty(q)) {
printf("Queue is empty.\n");
exit(1);
}
int value = q->data[q->front];
q->front = (q->front + 1) % MAX_QUEUE_SIZE;
return value;
}
int main() {
Queue queue;
int choice, value;
initQueue(&queue);
while (1) {
printf("1. Enqueue\n");
printf("2. Dequeue\n");
printf("3. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("Enter the value to enqueue: ");
scanf("%d", &value);
enqueue(&queue, value);
break;
case 2:
printf("The dequeued value is %d.\n", dequeue(&queue));
break;
case 3:
exit(0);
default:
printf("Invalid choice.\n");
}
}
return 0;
}
```
这个程序使用一个循环队列来管理银行窗口的排队。当用户选择“enqueue”操作时,程序会要求用户输入需要排队的号码,然后将其加入队列中;当用户选择“dequeue”操作时,程序会将队列中的第一个号码取出并显示出来。你可以根据实际需求对该程序进行修改和扩展。
阅读全文