Stack

This is a discussion on Stack within the C++ Programming forums, part of the General Programming Boards category; Hey guys, I have been looking into queue's and stacks this week guys and I decided that I would like ...

  1. #1
    Registered User
    Join Date
    Apr 2010
    Posts
    20

    Stack

    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
    Code:
    #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
    Code:
    #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 Custom Stack - C And C++ | Dream.In.Code

  2. #2
    Registered User
    Join Date
    Apr 2010
    Posts
    20
    Oh and I somehow want to create car class as a list node to hold the information

  3. #3
    Registered User
    Join Date
    Apr 2010
    Posts
    20
    This is what I got so far!

    Code:
    #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();
            }
    Code:
    #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() {

  4. #4
    Registered User NeonBlack's Avatar
    Join Date
    Nov 2007
    Posts
    435
    It looks like you're trying to combine a Car class with a stack. This doesn't make any sense (at least not to me). Why don't you have a Car class to represent a car, and a Stack class that can contain Car objects?
    I copied it from the last program in which I passed a parameter, which would have been pre-1989 I guess. - esbo

  5. #5
    Registered User
    Join Date
    Apr 2010
    Posts
    20
    How would I do that??

  6. #6
    Or working on it anyways mramazing's Avatar
    Join Date
    Dec 2005
    Location
    Lehi, UT
    Posts
    121
    In your stack node have a car object.

    Code:
    struct node{
       MY_CAR_OBJECT car_data;
       node *next;
    };
    Last edited by mramazing; 04-20-2010 at 11:48 PM. Reason: semi-colon
    -- Will you show me how to c++?

  7. #7
    Registered User
    Join Date
    Apr 2010
    Posts
    20
    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
    Code:
    #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
    Code:
    #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 ==========

  8. #8
    and the Hat of Guessing tabstop's Avatar
    Join Date
    Nov 2007
    Posts
    14,185
    Code:
    Car() { top = NULL; }
    Code:
    //Sets to default values
    Car::Car() {
        make = " ";
        model = " ";
        color = " ";
        year = 0;
        mileage = 0;
    }
    So pick one.

  9. #9
    Registered User
    Join Date
    Apr 2010
    Posts
    20
    But I need them both...dnt I?? The first one is for the Stack class and the other is for the car

  10. #10
    Registered User
    Join Date
    Apr 2010
    Posts
    20
    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!

    Code:
    #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();
            }
    Code:
    #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;
    }
    Attached Images Attached Images  

  11. #11
    Registered User NeonBlack's Avatar
    Join Date
    Nov 2007
    Posts
    435
    I just skimmed, but it might have something to do with this:
    Code:
    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;
    		}
    Quote Originally Posted by tarheelfan_08 View Post
    I have one final problem...my year is showing up wrong in the final out put!
    I hate to have to say this, but you have more problems than that. Your Car / stack chimera class, the interface, the variable names... Nothing really makes any sense.

    Somebody else made this suggestion, but you paid no attention. I'll repeat. Why don't you try something like this:
    Code:
    class Car
    {
    	string make;
    	string model;
    	string color;
    	int year;
    	int miles;
    };
    
    class StackNode
    {
    	Car data;
    	StackNode* next;
    };
    Now you'll need to add public members, but part of your code should strongly resemble this.
    I copied it from the last program in which I passed a parameter, which would have been pre-1989 I guess. - esbo

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. stack and pointer problem
    By ramaadhitia in forum C Programming
    Replies: 2
    Last Post: 09-12-2006, 12:41 AM
  2. infix evaluation using stack
    By lewissi in forum C++ Programming
    Replies: 0
    Last Post: 11-03-2005, 02:56 AM
  3. Question about a stack using array of pointers
    By Ricochet in forum C++ Programming
    Replies: 6
    Last Post: 11-17-2003, 10:12 PM
  4. error trying to compile stack program
    By KristTlove in forum C++ Programming
    Replies: 2
    Last Post: 11-03-2003, 06:27 PM
  5. Stack Program Here
    By Troll_King in forum C Programming
    Replies: 7
    Last Post: 10-15-2001, 06:36 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21