//-------------------------------------------------------------------- // // Laboratory 6 test6.cpp // // Test program for the operations in the Queue ADT // //-------------------------------------------------------------------- #include #include "queuearr.cpp" //#include "queuelnk.cpp" using namespace std; void print_help() { cout << endl << "Commands:" << endl; cout << " H : Help (displays this message)" << endl; cout << " +x : Enqueue x" << endl; cout << " - : Dequeue" << endl; cout << " C : Clear the queue" << endl; cout << " E : Empty queue?" << endl; cout << " F : Full queue?" << endl; cout << " >x : Put x at front (Inactive : In-lab Exercise 2)" << endl; cout << " = : Get x from rear (Inactive : In-lab Exercise 2)" << endl; cout << " # : Length (Inactive : In-lab Exercise 3)" << endl; cout << " Q : Quit the test program" << endl; cout << endl; } void main() { Queue testQueue(8); // Test queue char testData; // Queue data item char cmd; // Input command print_help(); do { testQueue.showStructure(); // Output queue cout << endl << "Command: "; // Read command cin >> cmd; if ( cmd == '+' || cmd == '>' ) cin >> testData; switch ( cmd ) { case 'H' : case 'h' : print_help(); break; case '+' : // enqueue cout << "Enqueue " << testData << endl; testQueue.enqueue(testData); break; case '-' : // dequeue cout << "Dequeued " << testQueue.dequeue() << endl; break; case 'C' : case 'c' : // clear cout << "Clear the queue" << endl; testQueue.clear(); break; case 'E' : case 'e' : // empty if ( testQueue.isEmpty() ) cout << "Queue is empty" << endl; else cout << "Queue is NOT empty" << endl; break; case 'F' : case 'f' : // full if ( testQueue.isFull() ) cout << "Queue is full" << endl; else cout << "Queue is NOT full" << endl; break; //> case '>' : // In-lab Exercise 2 //> cout << "Put " << testData << " in front " << endl; //> testQueue.putFront(testData); //> break; //= case '=' : // In-lab Exercise 2 //= cout << "Got " << testQueue.getRear() << " from rear " //= << endl; //= break; //# case '#' : // In-lab Exercise 3 //# cout << "Length = " << testQueue.getLength() << endl; //# break; case 'Q' : case 'q' : // Quit test program break; default : // Invalid command cout << "Inactive or invalid command" << endl; } } while ( cmd != 'Q' && cmd != 'q' ); }