#include <stdio.h>
#define MAXSIZE 5
struct STACK
{
int top;
int data[MAXSIZE];
};
typedef struct STACK stack;
stack stc;
int push() ///insert in stack
{
int n;
if(stc.top>=MAXSIZE)
{
printf("
Stack is FULL
");
return;
}
else
{
printf("Please Enter Data: ");
scanf("%d",&n);
stc.data[stc.top]=n;
stc.top++;
}
}
int pop()
{
int num;
if(stc.top==0)
{
printf("
No Data Found
");
return;
}
else
{
num = stc.data[stc.top-1]; ///save last element
printf("
Last Element: %d
",num);
stc.top=stc.top-1; ///delete last element
}
}
void print() ///print total stack
{
if(stc.top < 0)
{
printf("Your Stack is Empty
");
return;
}
else
{
int i;
printf("Your Stack: ");
for(i=stc.top-1; i>-1; i--)
{
printf("%d ",stc.data[i]);
}
}
}
int main()
{
int flag=1;
stc.top=0; ///set top value as 0.
while(flag !=0 )
{
printf("
Enter 1 For PUSH
Enter 2 For POP
Enter 3 For Print All
Press 0 For Exit.
");
scanf("%d",&flag);
if(flag==1)
{
push();
}
else if(flag==2)
{
pop();
}
else if(flag==3)
{
print();
}
}
return 0;
}
Output
Enter 1 For PUSH
Enter 2 For POP
Enter 3 For Print All
Press 0 For Exit.
1
Please Enter Data: 1
Enter 1 For PUSH
Enter 2 For POP
Enter 3 For Print All
Press 0 For Exit.
1
Please Enter Data: 2
Enter 1 For PUSH
Enter 2 For POP
Enter 3 For Print All
Press 0 For Exit.
1
Please Enter Data: 3
Enter 1 For PUSH
Enter 2 For POP
Enter 3 For
Add your comment