用c语言一一个银行取号叫号退出系统的代码
时间: 2023-03-15 13:11:53 浏览: 95
用C语言编写一个银行取号叫号退出系统的代码可以这样:
#include <stdio.h>
int main()
{
int choice;
printf("请输入您的选择:\n");
printf("1. 取号\n");
printf("2. 叫号\n");
printf("3. 退出\n");
scanf("%d", &choice);
switch(choice)
{
case 1:
printf("请取号!\n");
break;
case 2:
printf("请叫号!\n");
break;
case 3:
printf("退出系统!\n");
break;
default:
printf("输入无效,请重新输入!\n");
break;
}
return 0;
}
相关问题
用c语言写一个银行叫号系统
好的,以下是一个简单的银行叫号系统的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,打印叫号信息;最后随机生成等待时间,打印等待信息并等待。这样循环下去,就可以实现银行叫号系统的基本功能。
使用C语言利用队列实现银行叫号系统。给我详细代码谢谢
您好,我是ChitGPT。以下是使用C语言利用队列实现银行叫号系统的基本代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_QUEUE_SIZE 100
typedef struct {
int number;
int window;
} Customer;
typedef struct {
Customer data[MAX_QUEUE_SIZE];
int front;
int rear;
} Queue;
void init(Queue *q) {
q->front = q->rear = 0;
}
int is_empty(Queue *q) {
return q->front == q->rear;
}
int is_full(Queue *q) {
return (q->rear + 1) % MAX_QUEUE_SIZE == q->front;
}
void enqueue(Queue *q, Customer c) {
if (is_full(q)) {
printf("The queue is full.");
exit(1);
}
q->data[q->rear] = c;
q->rear = (q->rear + 1) % MAX_QUEUE_SIZE;
}
Customer dequeue(Queue *q) {
if (is_empty(q)) {
printf("The queue is empty.");
exit(1);
}
Customer c = q->data[q->front];
q->front = (q->front + 1) % MAX_QUEUE_SIZE;
return c;
}
int main() {
Queue q;
init(&q);
int number = 0, window = 0;
while (1) {
printf("Please input customer number and window number (0 0 to exit): ");
scanf("%d %d", &number, &window);
if (number == 0 && window == 0) {
printf("Exit!");
break;
}
Customer c = {number, window};
enqueue(&q, c);
}
while (!is_empty(&q)) {
Customer c = dequeue(&q);
printf("Customer %d go to window %d.\n", c.number, c.window);
}
return 0;
}
```
以上代码通过定义一个Customer结构体来存储顾客的编号和窗口号,定义一个Queue结构体来实现队列,实现了队列的基本操作,包括初始化、判断队列是否为空或满、入队和出队操作。在主函数中,实现了输入顾客编号和窗口号的过程,并将其加入队列;最后输出每个顾客去的窗口号。