Hey guys, I have been looking into queue's and stacks this week guys and I decided that I would like to convert my current array into a stack. Does anyone know how to or can give me some assistance with the current code I have?? I really do not even know how to start, and when I do it I want to keep the cars being entered automatically and not have the user input them. And I am not asking anyone to do it for me...just give me some assistance like maybe add one or 2 parts then tell me what I need to do! Or something like that, I will continue to post my code here for everyone to see my progress.

Header

#include <iostream>
#include <fstream>
#include <iomanip>
#include <functional>
#include <algorithm>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;

//Car Class
class Car
{
protected:
    string make;  //make
    string model; // model
    string color;  // color
    int year;  // year
    int mileage;  // miles on car

public:
                //Constructor that will set information for a new car
        void New_vehicle (string a, string b, string c, int d, int e) 
        {make = a; model = b; color = c; year = d; mileage = e;}
        
        Car(); //Default constructor
        Car(string, string, string, int, int);
        //mutator and accessor functions
        void setMake(string);
    void setModel(string);
    void setColor(string);
    void setYear(int);
    void setMileage(int);

    string getMake();
    string getModel();
    string getColor();
    int getYear();
    int getMileage();

        //Check mileage to see if valid
    void valid_mileage(int);
    void car_details();
    string string_car_details();
};

//Sets to default values
Car::Car() {
        make = " ";
    model = " ";
    color = " ";
    year = 0;
    mileage = 0;
}
        // My Vehicle set up(Make, model, color, year, mileage)
Car::Car(string make, string model, string color, int year, int mileage) {
    this->make =  make;
    this->model = model;
    this->color = color;
    this->year = year;
    valid_mileage(mileage);
}


void Car::setMake(string make) {
    Car::make = make;
}

void Car::setModel(string model) {
    Car::model = model;
}

void Car::setColor(string color) {
    Car::color = color;
}

void Car::setYear(int year) {
    Car::year = year;
}

void Car::setMileage(int mileage) {
    valid_mileage(mileage);
}


string Car::getMake() {
    return make;
}
string Car::getModel() {
    return model;
}
string Car::getColor() {
    return color;
}
int Car::getYear() {
    return year;
}
int Car::getMileage() {
    return mileage;
}


void Car::valid_mileage(int mileage) {
    if (mileage>=0)
        Car::mileage=mileage;
    else {
        Car::mileage=0;
        cout << "WARNING! You have entered invalid mileage!\n";
        }
    }

        void Car::car_details() {
            cout << "The current car is a " << year << ' ' << color << ' '
                        << make << ' ' << model << " with " << mileage << " miles.\n\n";
        }



        string Car::string_car_details() {
            stringstream buf;
            buf << "The current car is a " << year << ' ' << color << ' '
            << make << ' ' << model << " with " << mileage << " miles.\n\n";
            return buf.str();
        }

CPP

#include "CarClass.h"
using namespace std;

int main() {
	const int SIZE = 6;
		Car Car_array[SIZE] = { Car("Porsche", "911", "Silver", 2005, 45000), 
                                Car("Ford", "Mustang", "Red", 2007, 12600),
                                Car("Voltzwagon", "Jetta", "Black", 2006, 20218),
                                Car("Jeep", "Cherokee", "White", 2000, 98322),
                                Car("Nissan", "Sentra", "Red", 2002, 76046),
                                Car("Voltzwagon", "Beetle", "Black", 2005, 28031)};

Repost http://www.dreamincode.net/forums/topic/169276-custom-stack/

This is what I got so far!

#include <iostream>
#include <fstream>
#include <iomanip>
#include <functional>
#include <algorithm>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;

//Car Class
class Car
{
protected:
    string make;  //make
    string model; // model
    string color;  // color
    int year;  // year
    int mileage;  // miles on car
	int IntStackSize;
	int top;	//top of stack

public:
        //Constructor that will set information for a new car
        void New_vehicle (string a, string b, string c, int d, int e) 
        {make = a; model = b; color = c; year = d; mileage = e;}
        
        Car(); //Default constructor
        Car(string, string, string, int, int);
		//Stack Information
	
		void push(int);
		void pop(int &);
		bool isFull();
		bool isEmpty();

        //mutator and accessor functions
        void setMake(string);
	    void setModel(string);
	    void setColor(string);
	    void setYear(int);
	    void setMileage(int);

	    string getMake();
	    string getModel();
	    string getColor();
	    int getYear();
	    int getMileage();

	        //Check mileage to see if valid
	    void valid_mileage(int);
	    void car_details();
	    string string_car_details();
	


};

//Sets to default values
Car::Car() {
        make = " ";
    model = " ";
    color = " ";
    year = 0;
    mileage = 0;
}
        // My Vehicle set up(Make, model, color, year, mileage)
Car::Car(string make, string model, string color, int year, int mileage) {
    this->make =  make;
    this->model = model;
    this->color = color;
    this->year = year;
    valid_mileage(mileage);
}


void Car::setMake(string make) {
    Car::make = make;
}

void Car::setModel(string model) {
    Car::model = model;
}

void Car::setColor(string color) {
    Car::color = color;
}

void Car::setYear(int year) {
    Car::year = year;
}

void Car::setMileage(int mileage) {
    valid_mileage(mileage);
}


string Car::getMake() {
    return make;
}
string Car::getModel() {
    return model;
}
string Car::getColor() {
    return color;
}
int Car::getYear() {
    return year;
}
int Car::getMileage() {
    return mileage;
}


void Car::valid_mileage(int mileage) {
    if (mileage>=0)
        Car::mileage=mileage;
    else {
        Car::mileage=0;
        cout << "WARNING! You have entered invalid mileage!\n";
        }
    }

        void Car::car_details() {
            cout << "The current car is a " << year << ' ' << color << ' '
                        << make << ' ' << model << " with " << mileage << " miles.\n\n";
        }



        string Car::string_car_details() {
            stringstream buf;
            buf << "The current car is a " << year << ' ' << color << ' '
            << make << ' ' << model << " with " << mileage << " miles.\n\n";
            return buf.str();
        }
#include "CarClass.h"
using namespace std;

Car::Car(string make, string model, string color, int year, int mileage)
{
	const int SIZE = 6;
	Car Car_array[SIZE] = { Car("Porsche", "911", "Silver", 2005, 45000), 
                                Car("Ford", "Mustang", "Red", 2007, 12600),
                                Car("Voltzwagon", "Jetta", "Black", 2006, 20218),
                                Car("Jeep", "Cherokee", "White", 2000, 98322),
                                Car("Nissan", "Sentra", "Red", 2002, 76046),
                                Car("Voltzwagon", "Beetle", "Black", 2005, 28031)};
	top =-1;

}

//Set up Stack Push
void Car::push(int num)
{
	if (isFull())
	{
		cout << "The Stack is Full!\n";
		exit(1);
	}
	else
	{
		top++;
		Car_array[top] = num;
	}
}

//Set up Stack Pop
void Car::pop(int &num)
{
	if (isEmpty())
	{
		cout << "The Stack is Empty!\n";
		exit(1);
	}
	else
	{
		num = Car_array[top];
		top--;
	}
}

bool Car::isFull()
{
	if (top == IntStackSize -1)
		return true;
	else
		return false;
}
bool Car::isEmpty()
{
	if (top == -1)
		return true;
	else
		return false;
}

int main() {

Ok guys I got my code done using a dynamic stack..all thats left is to fix my errors! Can someone please assist me??

Header File

#include <iostream>
#include <fstream>
#include <iomanip>
#include <functional>
#include <algorithm>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;

//Car Class
class Car
{
private:
	class StackNode
	{
		friend class Car;
		string word;
		string wordTwo;
		string wordThree;
		int value;
		int valueTwo;
		StackNode *next;

		//Constructor
		StackNode(string word1, string word2, string word3, int value1, int value2, StackNode *next1 = NULL)
		{
			word = word1;
			wordTwo = word2;
			wordThree = word3;
			value = value1;
			value = value2;
			next = next1;
		}
	};
	StackNode *top;

	//Car Class information
    string make;  //make
    string model; // model
    string color;  // color
    int year;  // year
    int mileage;  // miles on car

public:
	Car() { top = NULL; }
		void push(string, string, string, int, int);
		void pop(string &, string &, string &, int &, int &);
		bool isEmpty();

        //Constructor that will set information for a new car
        void New_vehicle (string a, string b, string c, int d, int e) 
        {make = a; model = b; color = c; year = d; mileage = e;}
        
        Car(string, string, string, int, int);
		//Stack Information
	
        //mutator and accessor functions
        void setMake(string);
	    void setModel(string);
	    void setColor(string);
	    void setYear(int);
	    void setMileage(int);

	    string getMake();
	    string getModel();
	    string getColor();
	    int getYear();
	    int getMileage();

	        //Check mileage to see if valid
	    void valid_mileage(int);
	    void car_details();
	    string string_car_details();
	


};

//Sets to default values
Car::Car() {
    make = " ";
    model = " ";
    color = " ";
    year = 0;
    mileage = 0;
}
        // My Vehicle set up(Make, model, color, year, mileage)
Car::Car(string make, string model, string color, int year, int mileage) {
    this->make =  make;
    this->model = model;
    this->color = color;
    this->year = year;
    valid_mileage(mileage);
}


void Car::setMake(string make) {
    Car::make = make;
}

void Car::setModel(string model) {
    Car::model = model;
}

void Car::setColor(string color) {
    Car::color = color;
}

void Car::setYear(int year) {
    Car::year = year;
}

void Car::setMileage(int mileage) {
    valid_mileage(mileage);
}


string Car::getMake() {
    return make;
}
string Car::getModel() {
    return model;
}
string Car::getColor() {
    return color;
}
int Car::getYear() {
    return year;
}
int Car::getMileage() {
    return mileage;
}


void Car::valid_mileage(int mileage) {
    if (mileage>=0)
        Car::mileage=mileage;
    else {
        Car::mileage=0;
        cout << "WARNING! You have entered invalid mileage!\n";
        }
    }

        void Car::car_details() {
            cout << "The current car is a " << year << ' ' << color << ' '
                        << make << ' ' << model << " with " << mileage << " miles.\n\n";
        }



        string Car::string_car_details() {
            stringstream buf;
            buf << "The current car is a " << year << ' ' << color << ' '
            << make << ' ' << model << " with " << mileage << " miles.\n\n";
            return buf.str();
        }

CPP File

#include "CarClass.h"
using namespace std;

//Push arguments onto stack
void Car::push(string make, string model, string color, int year, int mileage)
{
	top = new StackNode(make, model, color, year, mileage, top);
}

//Pop removed value at top of stack and copies it to variable
void Car::pop(string &make, string &model, string &color, int &year, int &mileage)
{
	StackNode *temp;
	if (isEmpty())
	{
		cout << "The stack is empty.\n";
		exit(1);
	}
	else //Pop value off top of stack
	{
		make = top->word;
		model = top->wordTwo;
		color = top->wordThree;
		year = top->value;
		mileage = top->valueTwo;
		temp = top;
		top = top->next;
		delete temp;
	}
}

//Returns true if stack is empty or false otherwise
bool Car::isEmpty()
{
	if(!top)
		return true;
	else
		return false;
}


int main() {
	
	Car stack;
	string catchWord;
	string catchWord2;
	string catchWord3;
	int catchVal;
	int catchVal2;
	//Push information
	cout << "Pushing first car \n";
	stack.push("Porsche", "911", "Silver", 2005, 45000);
	cout << "Pushing second car \n";
	stack.push("Ford", "Mustang", "Red", 2007, 12600);
	cout << "Pushing third car \n";
	stack.push("Voltzwagon", "Jetta", "Black", 2006, 20218);
	cout << "Pushing fourth car \n";
	stack.push("Jeep", "Cherokee", "White", 2000, 98322);
	cout << "Pushing fifth car \n";
	stack.push("Nissan", "Sentra", "Red", 2002, 76046);
	cout << "Pushing sixth car \n";
	stack.push("Voltzwagon", "Beetle", "Black", 2005, 28031);

	cout << "Popping...\n";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";

	cout << "\n Attempting to pop again... ";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);


	return 0;
}

ERRORS:

1>------ Build started: Project: Week13, Configuration: Debug Win32 ------
1> Car.cpp
1>\carclass.h(81): error C2084: function 'Car::Car(void)' already has a body
1> \carclass.h(46) : see previous definition of '{ctor}'
1>\car.cpp(44): error C2264: 'Car::Car' : error in function definition or declaration; function not called
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I updated my coe and got it going guys but I have one final problem...my year is showing up wrong in the final out put!

#include <iostream>
#include <fstream>
#include <iomanip>
#include <functional>
#include <algorithm>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;

//Car Class
class Car
{
private:
	class StackNode
	{
		friend class Car;
		string word;
		string wordTwo;
		string wordThree;
		int value;
		int valueTwo;
		StackNode *next;

		//Constructor
		StackNode(string word1, string word2, string word3, int value1, int value2, StackNode *next1 = NULL)
		{
			word = word1;
			wordTwo = word2;
			wordThree = word3;
			value = value1;
			value = value2;
			next = next1;
		}
	};
	StackNode *top;

	//Car Class information
    string make;  //make
    string model; // model
    string color;  // color
    int year;  // year
    int mileage;  // miles on car

public:
	Car() { top = NULL; }
		void push(string, string, string, int, int);
		void pop(string &, string &, string &, int &, int &);
		bool isEmpty();

        //Constructor that will set information for a new car
        void New_vehicle (string a, string b, string c, int d, int e) 
        {make = a; model = b; color = c; year = d; mileage = e;}
        
        Car(string, string, string, int, int);
		//Stack Information
	
        //mutator and accessor functions
        void setMake(string);
	    void setModel(string);
	    void setColor(string);
	    void setYear(int);
	    void setMileage(int);

	    string getMake();
	    string getModel();
	    string getColor();
	    int getYear();
	    int getMileage();

	        //Check mileage to see if valid
	    void valid_mileage(int);
	    void car_details();
	    string string_car_details();
	


};

//Sets to default values

        // My Vehicle set up(Make, model, color, year, mileage)
Car::Car(string make, string model, string color, int year, int mileage) {
    this->make =  make;
    this->model = model;
    this->color = color;
    this->year = year;
    valid_mileage(mileage);
}


void Car::setMake(string make) {
    Car::make = make;
}

void Car::setModel(string model) {
    Car::model = model;
}

void Car::setColor(string color) {
    Car::color = color;
}

void Car::setYear(int year) {
    Car::year = year;
}

void Car::setMileage(int mileage) {
    valid_mileage(mileage);
}


string Car::getMake() {
    return make;
}
string Car::getModel() {
    return model;
}
string Car::getColor() {
    return color;
}
int Car::getYear() {
    return year;
}
int Car::getMileage() {
    return mileage;
}


void Car::valid_mileage(int mileage) {
    if (mileage>=0)
        Car::mileage=mileage;
    else {
        Car::mileage=0;
        cout << "WARNING! You have entered invalid mileage!\n";
        }
    }

        void Car::car_details() {
            cout << "The current car is a " << year << ' ' << color << ' '
                        << make << ' ' << model << " with " << mileage << " miles.\n\n";
        }



        string Car::string_car_details() {
            stringstream buf;
            buf << "The current car is a " << year << ' ' << color << ' '
            << make << ' ' << model << " with " << mileage << " miles.\n\n";
            return buf.str();
        }
#include "CarClass.h"
using namespace std;

//Push arguments onto stack
void Car::push(string make, string model, string color, int year, int mileage)
{
	top = new StackNode(make, model, color, year, mileage, top);
}

//Pop removed value at top of stack and copies it to variable
void Car::pop(string &make, string &model, string &color, int &year, int &mileage)
{
	StackNode *temp;
	if (isEmpty())
	{
		cout << "The stack is empty.\n";
		exit(1);
	}
	else //Pop value off top of stack
	{
		make = top->word;
		model = top->wordTwo;
		color = top->wordThree;
		year = top->value;
		mileage = top->valueTwo;
		temp = top;
		top = top->next;
		delete temp;
	}
}

//Returns true if stack is empty or false otherwise
bool Car::isEmpty()
{
	if(!top)
		return true;
	else
		return false;
}


int main() {
	
	Car stack;
	string catchWord;
	string catchWord2;
	string catchWord3;
	int catchVal;
	int catchVal2;
	//Push information
	cout << "Pushing first car \n";
	stack.push("Porsche", "911", "Silver", 2005, 45000);
	cout << "Pushing second car \n";
	stack.push("Ford", "Mustang", "Red", 2007, 12600);
	cout << "Pushing third car \n";
	stack.push("Voltzwagon", "Jetta", "Black", 2006, 20218);
	cout << "Pushing fourth car \n";
	stack.push("Jeep", "Cherokee", "White", 2000, 98322);
	cout << "Pushing fifth car \n";
	stack.push("Nissan", "Sentra", "Red", 2002, 76046);
	cout << "Pushing sixth car \n";
	stack.push("Voltzwagon", "Beetle", "Black", 2005, 28031);

	cout << "Popping...\n";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal2, catchVal);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	stack.pop(catchWord, catchWord2, catchWord3, catchVal2, catchVal);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	stack.pop(catchWord, catchWord2, catchWord3, catchVal2, catchVal);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	stack.pop(catchWord, catchWord2, catchWord3, catchVal2, catchVal);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	stack.pop(catchWord, catchWord2, catchWord3, catchVal2, catchVal);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	stack.pop(catchWord, catchWord2, catchWord3, catchVal2, catchVal);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	cout << "\n Attempting to pop again... ";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal2, catchVal);


	return 0;
}
Attachments Untitled.jpg 72.54 KB

As we know in computer, a stack is a LIFO (Last In First out) which has abstract data type.
In The C++ Stack is a container adapter that gives the programmer the functionality of a stack – specifically, a FILO (first-in, last-out) data structure.
Nice and informative post.

Sweet, got it fixed! Now I got 2 questions! If I wanted to edit a car in the stack how would I do this! And if you wanted to add more cars to the stack would you just make a larger pop??

#include <iostream>
#include <fstream>
#include <iomanip>
#include <functional>
#include <algorithm>
#include <string>
#include <cstdlib>
#include <sstream>
using namespace std;

//Car Class
class Car
{
private:
	class StackNode
	{
		friend class Car;
		string word;
		string wordTwo;
		string wordThree;
		int value;
		int valueTwo;
		StackNode *next;

		//Constructor
		StackNode(string word1, string word2, string word3, int value1, int value2, StackNode *next1 = NULL)
		{
			word = word1;
			wordTwo = word2;
			wordThree = word3;
			value = value1;
			valueTwo = value2;
			next = next1;
		}
	};
	StackNode *top;

	//Car Class information
    string make;  //make
    string model; // model
    string color;  // color
    int year;  // year
    int mileage;  // miles on car

public:
	Car() { top = NULL; }
		void push(string, string, string, int, int);
		void pop(string &, string &, string &, int &, int &);
		bool isEmpty();

        //Constructor that will set information for a new car
        void New_vehicle (string a, string b, string c, int d, int e) 
        {make = a; model = b; color = c; year = d; mileage = e;}
        
        Car(string, string, string, int, int);
		//Stack Information
	
        //mutator and accessor functions
        void setMake(string);
	    void setModel(string);
	    void setColor(string);
	    void setYear(int);
	    void setMileage(int);

	    string getMake();
	    string getModel();
	    string getColor();
	    int getYear();
	    int getMileage();

	        //Check mileage to see if valid
	    void valid_mileage(int);
	    void car_details();
	    string string_car_details();
	


};

//Sets to default values

        // My Vehicle set up(Make, model, color, year, mileage)
Car::Car(string make, string model, string color, int year, int mileage) {
    this->make =  make;
    this->model = model;
    this->color = color;
    this->year = year;
    valid_mileage(mileage);
}


void Car::setMake(string make) {
    Car::make = make;
}

void Car::setModel(string model) {
    Car::model = model;
}

void Car::setColor(string color) {
    Car::color = color;
}

void Car::setYear(int year) {
    Car::year = year;
}

void Car::setMileage(int mileage) {
    valid_mileage(mileage);
}


string Car::getMake() {
    return make;
}
string Car::getModel() {
    return model;
}
string Car::getColor() {
    return color;
}
int Car::getYear() {
    return year;
}
int Car::getMileage() {
    return mileage;
}


void Car::valid_mileage(int mileage) {
    if (mileage>=0)
        Car::mileage=mileage;
    else {
        Car::mileage=0;
        cout << "WARNING! You have entered invalid mileage!\n";
        }
    }

        void Car::car_details() {
            cout << "The current car is a " << year << ' ' << color << ' '
                        << make << ' ' << model << " with " << mileage << " miles.\n\n";
        }



        string Car::string_car_details() {
            stringstream buf;
            buf << "The current car is a " << year << ' ' << color << ' '
            << make << ' ' << model << " with " << mileage << " miles.\n\n";
            return buf.str();
        }
#include "CarClass.h"
using namespace std;

//Push arguments onto stack
void Car::push(string make, string model, string color, int year, int mileage)
{
	top = new StackNode(make, model, color, year, mileage, top);
}

//Pop removed value at top of stack and copies it to variable
void Car::pop(string &make, string &model, string &color, int &year, int &mileage)
{
	StackNode *temp;
	if (isEmpty())
	{
		cout << "The stack is empty.\n";
		exit(1);
	}
	else //Pop value off top of stack
	{
		make = top->word;
		model = top->wordTwo;
		color = top->wordThree;
		year = top->value;
		mileage = top->valueTwo;
		temp = top;
		top = top->next;
		delete temp;
	}
}

//Returns true if stack is empty or false otherwise
bool Car::isEmpty()
{
	if(!top)
		return true;
	else
		return false;
}


int main() {
	
	Car stack;
	string catchWord;
	string catchWord2;
	string catchWord3;
	int catchVal;
	int catchVal2;
	//Push information
	cout << "Pushing first car \n";
	stack.push("Porsche", "911", "Silver", 2005, 45000);
	cout << "Pushing second car \n";
	stack.push("Ford", "Mustang", "Red", 2007, 12600);
	cout << "Pushing third car \n";
	stack.push("Voltzwagon", "Jetta", "Black", 2006, 20218);
	cout << "Pushing fourth car \n";
	stack.push("Jeep", "Cherokee", "White", 2000, 98322);
	cout << "Pushing fifth car \n";
	stack.push("Nissan", "Sentra", "Red", 2002, 76046);
	cout << "Pushing sixth car \n\n";
	stack.push("Voltzwagon", "Beetle", "Black", 2005, 28031);

	cout << "Popping...\n\n";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n";
	
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);
	cout << "The current car is a " << catchVal << " " << catchWord3<< " " << catchWord << " " << catchWord2 << " with " << catchVal2 <<" miles. \n\n";
	
	cout << "\nAttempting to pop again... ";
	stack.pop(catchWord, catchWord2, catchWord3, catchVal, catchVal2);


	return 0;
}
This article has been dead for over six months. Start a new discussion instead.