#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
class stack
{
public:
stack()
{
top = -1;
size = 10;
memset (arr, 0, sizeof (arr));
}
int push (int newData)
{
if (top >= size-1)
{
cout<<"stack is full!\n";
return -1;
}
top++;
arr[top] = newData;
return 0;
}
int pop(void)
{
if(top < 0)
{
cout<<"stack is empty!\n";
return -1;
}
return arr[top--];
}
void show()
{
int i = 0;
if (top < 0)
{
cout<<"stack is empty!\n";
return;
}
for (; i<= top; i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
}
~stack()
{
}
private:
int arr[10];
int size;
int top;
};
int main()
{
stack stack;
int i = 0;
int newdata = 0;
stack.show();
while (i < 11)
{
cout<<"Input new data:\n";
cin>>newdata;
stack.push(newdata);
i++;
stack.show();
}
for(i=0; i< 10; i++)
{
cout<<stack.pop()<<endl;
stack.show();
}
stack.show();
return 0;
}