// 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 Main

 

 

Hosted by www.Geocities.ws

1