#include<stdio.h>
#include<stdlib.h>
#define maxsize 10
void enqueue();
int dequeue();
void display();
int queue[maxsize];
int rear = -1;
int front = -1;
main() {
  char choice;
  int y;
  printf("*****INSTRUCTIONS*****\nE - Enter\nX - Delete\nD - Display\nQ - Quit\n");
  while (1) {
    printf("\nEnter choice");
    scanf("%s", & choice);
    switch (choice) {
    case 'E':
      enqueue();
      break;
    case 'X':
      dequeue();
      break;
    case 'D':
      display();
      break;
    case 'Q':
      exit(1);
      break;
    }
  }
}
void enqueue() {
  int x;
  printf("Enter element:");
  scanf("%d", & x);
  if (front == -1 && rear == -1) {
    front = 0, rear = 0;
    queue[rear] = x;
  } else if ((rear + 1) % maxsize == front) {
    printf("Queue is overflow");
  } else {
    rear = (rear + 1) % maxsize;
    queue[rear] = x;
  }
}
int dequeue() {
  int x;
  x = queue[front];
  if (front == -1 && rear == -1) {
    printf("queue is underflow");
  } else if (front == rear) {
    printf("The deleted element is %d\n", x);
    front = -1, rear = -1;
  } else {
    printf("The deleted element is %d\n", x);
    front = (front + 1) % maxsize;
  }
}
void display() {
  if (front == -1 && rear == -1) {
    printf("queue is empty");
  } else {
    int i = front;
    printf("Elements in the circular queue are:");
    while (i <= rear) {
      printf("%d\t", queue[i]);
      if (i == rear) {
        break;
      }
      i = (i + 1) % maxsize;
    }
  }
}
Note: Need to be arranged in compiler after copied
 
  
 OutPut:
*****INSTRUCTIONS*****
E - Enter
X - Delete
D - Display
Q - Quit
Enter choiceE
Enter element:3
Enter choiceE
Enter element:2
Enter choiceE
Enter element:1
Enter choiceX
The deleted element is 3
Enter choiceD
Elements in the circular queue are:2    1
Enter choiceQ
 
.png)