/* Example 18.1 Queue application driver Author: Peter Brusilovsky */ #include "QueueIntAr.h" #include void main(){ struct intqueue *myqueue; int i; int value; myqueue = createQueue(5); while(1){ printf("Queue manipulation:\n\n"); printf("1. Enqueue\t"); printf("2. Dequeue\n"); printf("3. Front\t"); printf("4. Rear\n"); printf("5. Full\t\t"); printf("6. Empty\n"); printf("7. End\n\n"); scanf("%d",&i); if(i == 1) { printf("Value? "); scanf("%d",&value); if(enqueue(myqueue, value)) printf("Value %d enqueued in\n", value); else printf("Queue is Full\n"); } else if (i == 2) if(dequeue(myqueue, &value)) printf("Value %d dequeued\n", value); else printf("Queue is Empty\n"); else if (i == 3) if (queueFront(myqueue, &value)) printf("Front Value is %d\n", value); else printf("Queue is Empty\n"); else if (i == 4) if (queueRear(myqueue, &value)) printf("End Value is %d\n", value); else printf("Queue is Empty\n"); else if (i == 5) if (fullQueue(myqueue)) printf("Queue is Full\n"); else printf("Queue is Not Full\n"); else if (i == 6) if (emptyQueue(myqueue)) printf("Queue is Empty\n"); else printf("Queue is Not Empty\n"); else { destroyQueue(myqueue); return; } } }