#include<stdio.h>
#include<conio.h>
struct stack
{
struct stack *back;
int i;
};
void main()
{
struct stack *top;
struct stack *p;
struct stack *end;
int ch,user;
clrscr();
while(user!=5)
{
printf("\n\t 1. CREATE");
printf("\n\t 2. PUSH");
printf("\n\t 3. POP");
printf("\n\t 4. DISPLAY");
printf("\n\t 5. EXIT");
scanf("%d",&user);
if(user==1)
{
end=(struct stack*)malloc(sizeof(struct stack));
end->back=0;
printf("\n\t ENTER THE DATA IN STACK :::: ");
scanf("%d",&end->i);
top=end;
}
if(user==2)
{
p=(struct stack*)malloc(sizeof(struct stack));
p->back=top;
printf("\n\t PUSH THE DATA IN STACK :::: ");
scanf("%d",&p->i);
top=p;
}
if(user==4)
{
p=0;
p=top;
while(p!=0)
{
printf("\n\t %d-->",p->i);
p=p->back;
}
}
if(user==3)
{
printf("\n\t DATA THAT IS POPPED IS ::: %d",top->i);
p=top->back;
free(top);
top=p;
}
}
getch();
}