Stack program in c++

Stack program in c++

Here is the program :-

// cpp program for stack
#include <iostream> // header file for input output functions
#include <conio.h> // header file for console input output functions
using namespace std;

// stack's common functions
void push(int *intint *int);
int pop(int *int *int);
void display(int *intint);
void peak(int *int);

int main() // main function
{
    int aelestack[10], top = -1smax = 10;

    // display the stack menu
    do
    {
        cout << "\n ==> STACK PROGRAM <==\n";
        cout << "\n 1. PUSH";
        cout << "\n 2. POP";
        cout << "\n 3. DISPLAY";
        cout << "\n 4. PEAK";
        cout << "\n 0. EXIT";
        cout << "\n\n CHOISE >>| ";
        cin >> a;
        fflush(stdin);

        // switch case for choise option
        switch (a)
        {
        case 1:
            cout << "\n Enter element >>| ";
            cin >> ele;
            push(stackele, &topsmax);
            display(stacktopsmax);
            getch();
            break;
        case 2:
            ele = pop(stack, &topsmax);
            if (ele != -1)
            {
                cout << "\n Pop out element is " << ele << "...\n";
                display(stacktopsmax);
            }
            getch();
            break;
        case 3:
            display(stacktopsmax);
            getch();
            break;
        case 4:
            peak(stacktop);
            getch();
            break;
        }
        system("cls");
    } while (a != 0);

    return 0;
}

// function for inserting the value
void push(int stack[], int eleint *topint smax)
{
    if (*top == smax - 1) // if stack is full
    {
        cout << "\n --- Overflow ---\n";
        return;
    }
    *top = *top + 1;
    stack[*top] = ele;
}

// function for deleting the value
int pop(int stack[], int *topint smax)
{
    int ele;

    if (*top == -1) // if stack is empty
    {
        cout << "\n -- Underflow --\n";
        return *top;
    }
    ele = stack[*top];
    *top = *top - 1;
    return ele;
}

// function for display all the elements 
void display(int stack[], int topint smax)
{
    cout << "\n =================DISPLAY=================\n ";
    if (top != -1) // if stack is empty
    {
        for (int i = 0i <= topi++)
        {
            cout << stack[i<< ", ";
        }
    }
    else
    {
        cout << "\t ---- STACK IS EMPTY  ----";
    }
    cout << "\n =========================================";
}

// function for display top element
void peak(int stack[], int top)
{
    if (top != -1) // if stack is empty
    {
        cout << "\n =====TOP=====\n ";
        cout << "     " << stack[top];
        cout << "\n =============";
    }
    else
    {
        cout << "\n --- STACK IS EMPTY ---\n";
    }
}



Output 1:-

==> STACK PROGRAM <==

 1. PUSH
 2. POP
 3. DISPLAY
 4. PEAK
 0. EXIT

 CHOISE >>|


Output 2:-

==> STACK PROGRAM <==

 1. PUSH
 2. POP
 3. DISPLAY
 4. PEAK
 0. EXIT

 CHOISE >>| 1

 Enter element >>| 12

 =================DISPLAY=================
 12,
 =========================================


Output 3:-

==> STACK PROGRAM <==

 1. PUSH
 2. POP
 3. DISPLAY
 4. PEAK
 0. EXIT

 CHOISE >>| 1

 Enter element >>| 13

 =================DISPLAY=================
 12, 13,
 =========================================


Output 4:-

==> STACK PROGRAM <==

 1. PUSH
 2. POP
 3. DISPLAY
 4. PEAK
 0. EXIT

 CHOISE >>| 2

 Pop out element is 13...

 =================DISPLAY=================
 12,
 =========================================


Output 5:-

==> STACK PROGRAM <==

 1. PUSH
 2. POP
 3. DISPLAY
 4. PEAK
 0. EXIT

 CHOISE >>| 3

 =================DISPLAY=================
 12,
 =========================================


Output 6:-

==> STACK PROGRAM <==

 1. PUSH
 2. POP
 3. DISPLAY
 4. PEAK
 0. EXIT

 CHOISE >>| 4

 =====TOP=====
       12
 =============


Output 7:-

==> STACK PROGRAM <==

 1. PUSH
 2. POP
 3. DISPLAY
 4. PEAK
 0. EXIT

 CHOISE >>| 2

 Pop out element is 12...

 =================DISPLAY=================
         ---- STACK IS EMPTY ----
 =========================================


Attention readers! Don't stop learning now. Check out our articles to gain more knowledge.

Reactions

Post a Comment

0 Comments