// Dickens Fenelon
// Data
Structures
// Circular
Queue With Classes
#include<iostream.h>
#include<stdlib.h>
class queue{
private:
int
myqueue[5];
int
rear, front;
int
counter;
public:
void enqueue (int); //Function
Prototypes
int dequeue (); //Function
Prototypes
int isempty ();
//Fucntion Prototyepes
int isfull (const int); //Function
Prototypes
};//Queue Classes
void queue::enqueue(int x)
{
myqueue[rear] = x;
rear = rear + 1;
counter = counter +
1;
}//Enqueue Function
int queue::dequeue()
{
int x = myqueue[front];
front = front + 1;
counter = counter -
1;
return
x;
}//Dequeue Function
int queue::isempty()
{
if(counter
== 0)
return 1;
else
return 0;
}//Isempty Function
int queue::isfull(const int
maxQ)
{
if(counter
== maxQ)
return 1;
else
return 0;
}//Isfull Function
void main()
{
queue xqueue;
const
int maxQ = 5;
int x;
char
choice;
do{
cout << "Select One Of The Following
Options:" << endl;
cout
<< "1-Enqueue 2-Dequeue 3-Isempty 4-Isfull 5-Quit: ";
cin
>> choice;
switch(choice){
case '1':
cout << "Enter The
Number That Will Be Queued: " << endl;
cin >> x;
if(!xqueue.isfull(maxQ))
xqueue.enqueue(x);
else
cout
<< "You Can't Enqueue " << endl;
break;
case
'2':
if(!xqueue.isempty())
cout<<"The
Number Dequeued Is:" <<xqueue.dequeue()<<
endl;
else
cout<<"Sorry
You Can't Dequeue" <<endl;
break;
case
'3':
if(xqueue.isempty())
cout<<"Queue
Is Empty."<<endl;
else
cout<<"Queue
Is Not Empty."<<endl;
break;
case
'4':
if(xqueue.isfull(maxQ) == 1)
cout<<"Queue
Is Full."<<endl;
else
cout<<"Queue
Is Not Full. "<<endl;
break;
case
'5':
system("cls");
cout<<"Thank
You For Using Dicken's Menu!!!!!"<<endl;
break;
default:
cout<<"Please
Enter The Correct Options."<<endl;
}//End Swicth
} while(choice
!='5');//End Do/while
}//End