Solved programming problem

POP & PUSH & Print all in Stack with Array in C.

Source code

#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

Join the discussion

Add your comment