打印机共享代码35

  • 打印机共享代码35已关闭评论
  • A+
所属分类:远程维修
摘要

符#include#include#include#include#defineMAX_PRINTERS5//最多支持5个打印机#defineON0#defineOFF1intlock[MAX_PRINTERS];//用于保护变量intprinters_queue[MAX_PRINTERS];//打印机队列intqueue_count;//打印机队列中的任务数//开启一个打印机

#include
#include
#include
#include

#define MAX_PRINTERS 5 // 最多支持5个打印机
#define ON 0
#define OFF 1

int lock[MAX_PRINTERS]; // 用于保护变量
int printers_queue[MAX_PRINTERS]; // 打印机队列
int queue_count; // 打印机队列中的任务数

// 开启一个打印机
void enable_printer(int printer_id)
{
lock[printer_id] = OFF; // 开启锁
printf("Printer %d is enabled.\n", printer_id);
}

// 关闭一个打印机
void disable_printer(int printer_id)
{
lock[printer_id] = ON; // 关闭锁
printf("Printer %d is disabled.\n", printer_id);
}

// 将一个新的打印机任务加入队列
void add_printer_task(int printer_id)
{
printers_queue[queue_count] = printer_id; // 将任务添加到队列
queue_count++; //将任务数量加1
printf("Printer %d has been added to the queue.\n", printer_id);
}

// 分配打印机任务
void assign_printer_task()
{
if (queue_count == 0) // 如果队列为空
{
printf("No printers in the queue.\n");
}
else
{
int printer_id = printers_queue[0]; // 取出队列中第一个任务

// 如果该任务已经启用
if (lock[printer_id] == OFF)
{
for (int i = 0; i < queue_count - 1; i++) // 将后面的任务前移 { printers_queue[i] = printers_queue[i + 1]; } queue_count--; // 将任务数量减1 printf("Printer %d has been assigned a task.\n", printer_id); } else { printf("Printer %d is disabled.\n", printer_id); } } } int main() { int i; for (i = 0; i < MAX_PRINTERS; i++) // 初始化打印机锁 lock[i] = ON; queue_count = 0; // 初始化队列任务数量 // 启用3号打印机 enable_printer(3); // 将2号打印机加入队列 add_printer_task(2); // 将4号打印机加入队列 add_printer_task(4); // 分配打印任务 assign_printer_task(); return 0; }

  • 微信在线客服
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 扫一扫码上服务
  • weinxin