[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

How do I display what is in a stack?

Posted on 2008-06-20
2
Medium Priority
?
536 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 10

Accepted Solution

by:
oleber earned 2000 total points
ID: 21836524
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
ID: 21836747
>> 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

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: SunnyDark
This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
The viewer will learn how to implement Singleton Design Pattern in Java.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.
Suggested Courses

649 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