47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
// 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;
|
|
}
|