12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // stacker.cpp -- testing the Stack class
- #include <iostream>
- #include <cctype> // or ctype.h
- #include "stack.h"
- int main()
- {
- using namespace std;
- Stack st; // create an empty stack
- char ch;
- unsigned long po;
- cout << "Please enter A to add a purchase order,\n"
- << "P to process a PO, or Q to quit.\n";
- while (cin >> ch && toupper(ch) != 'Q')
- {
- while (cin.get() != '\n')
- continue;
- if (!isalpha(ch))
- {
- cout << '\a';
- continue;
- }
- switch(ch)
- {
- case 'A':
- case 'a': cout << "Enter a PO number to add: ";
- cin >> po;
- if (st.isfull())
- cout << "stack already full\n";
- else
- st.push(po);
- break;
- case 'P':
- case 'p': if (st.isempty())
- cout << "stack already empty\n";
- else {
- st.pop(po);
- cout << "PO #" << po << " popped\n";
- }
- break;
- }
- cout << "Please enter A to add a purchase order,\n"
- << "P to process a PO, or Q to quit.\n";
- }
- cout << "Bye\n";
- return 0;
- }
|