For this code just explain the void pop function, with enough explanation that how it is working

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 3PE
icon
Related questions
Question

For this code just explain the void pop function, with enough explanation that how it is working. Thanks

 

#include<iostream>

using namespace std;

int choice, j=0;
int stack[50];
int *top;
bool Exit_Indicator = false;

void displayStack() {
    cout << "\n\t~Stack Display~\nTOP ->";
    for (int i = j-1; i >= 0; i--)
        cout << "\t|\t" << stack[i] << "\t|" << endl;
    cout << "\t-----------------";
}

void push(int i)
{
    cout << "\n(" << i << ") has been PUSHED into the stack!";
    *top = i;
    top++;
    j++;
}

void  pop()
{
 if((*(top-2) != 0 && *(top-1)!= 0) || (*(top-2) == 0 && *(top-1)!= 0)) {
  cout << "\n(" << *(top-1) << ") has been POPPED from the stack!";
  *(top-1)= 0;
  top--;
  j--;
 }
 
 else{
  cout<<"\nTHE STACK IS EMPTY";
}
}

int main() {
    int value;
    top = stack;
    
    do {
        cout << "\n\n------------------------------------------------------------------------\nStack Program Selection UI";

        cout << "\n\n1.Push a value into the stack \n2.Pop a value from the stack \n3.List all elements in stack \nOther numbers to exit the program. \n\nYour Choice : ";
        cin>>choice;
        
        if (choice == 1)
        {
            do {
                cout << "Enter any values except 0: ";
                cin>>value;
            } while (value == 0);
            push(value);
        }
        
        else if (choice == 2)
            pop();
        
        else if (choice == 3)
            displayStack();
        
        else
            Exit_Indicator = true;
        
    } while (Exit_Indicator == false);

    return 0;
}

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Functions
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning