#include<iomanip.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//************************class
item*******************************************
class
item
{ public:
int number;
char string[20];
};
//************************class
stack********************************************
const
int stacksize=5;
class
stack
{
private:
item itm[stacksize];
int pointer;
int counter;
public:
stack();
void push(int x, char str[]);
item pop();
bool IsEmpty() const;
bool IsFull() const;
int size();
void EmptyStack();
};
//*************************stack()******************************************
stack::stack()
{
pointer = -1;
counter = 0;
}
//************************ISEMPTY()******************************************
bool
stack::IsEmpty() const
{
return
pointer==-1;
}
bool
stack::IsFull() const
{
return pointer==stacksize-1;
}
//*************************POP()******************************************
item
stack::pop()
{
item temp;
if(pointer
==-1)
{
cout<<"Attempt
to pop an empty stack!"<<endl;
exit(1);
}
temp
= itm[pointer];
pointer--;
counter--;
return
temp;
}
//***********************PUSH()*********************************************
void
stack::push(int x, char str[])
{
if(pointer ==stacksize-1)
{
cout<<"Stack
overflow!"<<endl;
exit(1);
}
pointer++; counter++;
itm[pointer].number=x;
strcpy(itm[pointer].string,str);
}
//***********************EMPTYSTACK()*******************************************
void
stack::EmptyStack()
{
pointer = -1;
counter=0;
}
int
stack::size()
{
return counter;
}