ds 13
ds 13
Nisha Kadam
Department : Computer
Engineering
Class : SE C
Roll No. : 75
Subject : Fundamentals of Data
Structure
---------------------------------------------------------------------------------------------------------------
Assignment –13
PROBLEM STATEMENT:-
Pizza parlour is accepting maximum M orders. Orders are served in first come first served basis.
Order once placed cannot be cancelled.
Write C++ program to simulate the system using circular queue using array.
----------------------------------------------------------------------------------------
PROGRAM:-
#include<iostream>
using namespace std;
#define MAX 10
class circularQueue
{
private: int cq[MAX];
int front;
int rear;
public: circularQueue();
void enqueue(int order_id);
int dequeue();
void display();
};
circularQueue::circularQueue()
{
front= rear = -1;
for(int i=0;i<MAX;i++)
cq[i]=0;
}
cq[rear]=order_id;
}
void circularQueue::display()
{
if(front == -1)
{
cout<<"\n queue is underflow!!";
return;
}
if(front<=rear)
{
for(int i=front; i<=rear; i++)
cout<<"\t "<<cq[i];
}
else
{
for(int i=front ; i<MAX; i++)
cout<<"\t "<<cq[i];
for(int i=0; i<=rear; i++)
cout<<"\t "<<cq[i];
}
}
int circularQueue::dequeue()
{
if( front == -1)
{
cout<<"\n Queue is Empty !!No order to serve";
return -1;
}
int x=cq[front];
if(front == rear ) //if front and rear pointing to same element; if only one element
front= rear=-1;
circularQueue q;
int id;
int ch;
do
{
cout<<"\n\t\t\t1 : Place pizza order ";
cout<<"\n\t\t\t2 : Serve Order ";
cout<<"\n\t\t\t3 : Display";
cout<<"\n\t\t\t4 : Exit";
cout<<"\n\nEnter your choice : ";
cin>>ch;
switch(ch)
{
case 1 : cout<<"\nEnter pizza order ID : ";
cin>>id;
q.enqueue(id);
break;
OUTPUT :-
(base) tpo@tpo-Vostro-3902:~$ cd SECOC75
(base)tpo@tpoVostro3902:~/SECOC75$
g++ i.cpp
(base) tpo@tpo-Vostro-3902:~/SECOC75$ ./a.out