Menu driven program in C for stack operations using switch case

By | 09.04.2017

C program for stack operations using switch case


Write a Menu driven program in C for stack operations using switch case. Here’s simple Menu driven program for stack operations using switch case in C Programming Language.


What is Stack ?


Stack is an abstract data type with a bounded(predefined) capacity. It is a simple data structure that allows adding and removing elements in a particular order. Every time an element is added, it goes on the top of the stack, the only element that can be removed is the element that was at the top of the stack, just like a pile of objects.


Basic Operations : :


  • push() − Pushing (storing) an element on the stack.
  • pop() − Removing (accessing) an element from the stack.
  • peek() − get the top data element of the stack, without removing it.
  • isFull() − check if stack is full.
  • isEmpty() − check if stack is empty.

Below is the source code for C Menu driven program for stack operations using switch case which is successfully compiled and run on Windows System to produce desired output as shown below :


SOURCE CODE : :


/* C Program for stack operations using switch case*/

#include<stdio.h>
#include<stdlib.h>
#define MAX 10

int stack_arr[MAX];
int top = -1;

void push(int item);
int pop();
int peek();
int isEmpty();
int isFull();
void display();

int main()
{
        int choice,item;
        while(1)
        {
                printf("\n1.Push\n");
                printf("2.Pop\n");
                printf("3.Display the top element\n");
                printf("4.Display all stack elements\n");
                printf("5.Quit\n");
                printf("\nEnter your choice : ");
                scanf("%d",&choice);
                switch(choice)
                {
                 case 1 :
                        printf("\nEnter the item to be pushed : ");
                        scanf("%d",&item);
                        push(item);
                        break;
                 case 2:
                        item = pop();
                        printf("\nPopped item is : %d\n",item );
                        break;
                 case 3:
                        printf("\nItem at the top is : %d\n", peek() );
                        break;
                 case 4:
                        display();
                        break;
                 case 5:
                        exit(1);
                 default:
                        printf("\nWrong choice\n");
                }/*End of switch*/
        }/*End of while*/

        return 0;

}/*End of main()*/

void push(int item)
{
        if( isFull() )
        {
                printf("\nStack Overflow\n");
                return;
        }
        top = top+1;
        stack_arr[top] = item;
}/*End of push()*/

int pop()
{
        int item;
        if( isEmpty() )
        {
                printf("\nStack Underflow\n");
                exit(1);
        }
        item = stack_arr[top];
        top = top-1;
        return item;
}/*End of pop()*/

int peek()
{
        if( isEmpty() )
        {
                printf("\nStack Underflow\n");
                exit(1);
        }
        return stack_arr[top];
}/*End of peek()*/

int isEmpty()
{
        if( top == -1 )
                return 1;
        else
                return 0;
}/*End of isEmpty*/

int isFull()
{
        if( top == MAX-1 )
                return 1;
        else
                return 0;
}/*End of isFull*/

void display()
{
        int i;
        if( isEmpty() )
        {
                printf("\nStack is empty\n");
                return;
        }
    printf("\nStack elements :\n\n");
        for(i=top;i>=0;i--)
                printf(" %d\n", stack_arr[i] );
        printf("\n");
}/*End of display()*/

OUTPUT : :


/* C Program for stack operations using switch case*/

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 1

Enter the item to be pushed : 1

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 1

Enter the item to be pushed : 2

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 1

Enter the item to be pushed : 3

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 1

Enter the item to be pushed : 4

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 4

Stack elements :

 4
 3
 2
 1


1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 3

Item at the top is : 4

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 2

Popped item is : 4

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 2

Popped item is : 3

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 2

Popped item is : 2

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 2

Popped item is : 1

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 4

Stack is empty

1.Push
2.Pop
3.Display the top element
4.Display all stack elements
5.Quit

Enter your choice : 3

Stack Underflow

If you found any error or any queries related to the above program or any questions or reviews , you wanna to ask from us ,you may Contact Us through our contact Page or you can also comment below in the comment section.We will try our best to reach up to you in short interval.


Thanks for reading the post….

4.7 9 votes
Article Rating
Subscribe
Notify of
guest

4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Priya soni

Why while (1) is required

Pabitra kumar Patra

menu call happens infinity time.

aerghtr n

jai shree ram

Kriti

How the loop will terminated….