Solved

How do I display what is in a stack?

Posted on 2008-06-20
2
526 Views
Last Modified: 2008-06-21
Here is my code how do I display what is in the stack?


#include <iostream>

#include <stack>

 

using namespace std;

 

void Menu();

void Add();

void Display();

void Remove();

 

stack<int> stackInt;

int name;

 

int main()

{

	Menu();

}

void Menu()

{

	int choice;

 

	cout << "Stack Menu Options\n";

	cout << "1 - Add int to stack\n";

	cout << "2 - Remove from top of stack\n";

	cout << "3 - Size of stack\n";

	cout << "0 - Quit program\n";

	cout << "Enter choice: ";

	cin >> choice;

	cout << endl;

 

	switch(choice)

	{

	case 1:

		Add();

		break;

	case 2:

		Remove();

		break;

	case 3:

		Display();

		break;

	case 0:

		exit(0);

	default:

		cout << "Not a selection, enter again!\n";

		Menu();

		break;

	}

}

 

void Add()

{

	cout << "Enter a number to add: ";

	cin >> name;

	stackInt.push(name);

	cout << endl;

	Menu();

}

 

void Display()

{

 

}

 

void Remove()

{

	stackInt.pop();

	Menu();

}

Open in new window

0
Comment
Question by:jschmuff
2 Comments
 
LVL 10

Accepted Solution

by:
oleber earned 500 total points
Comment Utility
there is a simple recursive way

void Display()
{
   if (! stackInt.empty()) {
      int top = stackInt.top();
      cout << top << endl;
      stackInt.pop();
      Display();
      stackInt.push(top);
   }
}

0
 
LVL 53

Expert Comment

by:Infinity08
Comment Utility
>> there is a simple recursive way

I wouldn't do it recursively if I were you. Depending on how big the stack is, you might run out of (program) stack space. Which is bad.

It's not very proper either, as the code actually empties the stack. What if the code is multi-threaded ? A display should not modify the contents of the container.

The STL stack does not provide a way to show its contents. So, I'd rather implement my own stack if I really need display functionality.
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
Navigation is an important part of web design from a usability perspective. But it is often a pain when it comes to a developer’s perspective. By navigation, it often means menuing. This is less theory and more practical of how to get a specific gro…
The goal of this video is to provide viewers with basic examples to understand and use conditional statements in the C programming language.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now