//Coded By AJITH KP //http://terminalcoders.blogspot.com/ #include <iostream> using namespace std; class circQ { int q[100], n, i; int ch, cnt, item, FR, RR; public: circQ() { cnt = 0; FR = RR = 1; } void read() { cout<<"Enter the limit: "; cin>>n; for(i = 0; i < n; i++) { q[i] = 0; } menu(); } int menu() { cout<<"\t\t\tMENU\n"; cout<<"\t1. Add Element\n"; cout<<"\t2. Remove Element\n"; cout<<"\t3. Display Elements\n"; cout<<"\t4. Exit\n"; while(ch!=4) { cout<<"ENTER CHOICE: "; cin>>ch; switch(ch) { case 1: addQ(); break; case 2: delQ(); break; case 3: disQ(); break; case 4: break; default: cout<<"Your choice is wrong\n"; break; } } cout<<"\nExiting...\n"; return 0; } int addQ() { if((RR+1)%n == FR) { cout<<"\nQueue is full\n"; return NULL; } cout<<"Enter Element: "; cin>>item; q[RR] = item; RR = ++RR%n; return 0; } int delQ() { if(FR == RR) { cout<<"\nQueue is empty\n"; return NULL; } item = q[FR]; cout<<"\nItem "<<item<<" deleted"<<endl; q[(FR%n)] = 0; FR = ++FR % n; return 0; } void disQ() { cout<<"\nQUEUE:"; for(i = 0; i < n; i++) { cout<<" "<<q[i]; } cout<<endl; } }; int main() { circQ q; q.read(); cin.get(); }