Got things to reduce, but need a little help

I need help getting the correct return value

Page 1 of 1

13 Replies - 530 Views - Last Post: 26 February 2010 - 03:36 PM Rate Topic: -----

#1 IngeniousHax  Icon User is offline

  • |>|20-514<|{3|2

Reputation: 78
  • View blog
  • Posts: 1,358
  • Joined: 28-March 09

Got things to reduce, but need a little help

Posted 25 February 2010 - 10:37 PM

Need some help accessing the elements of the tables.

I got everything to break down to it's single digit form... Such as:
input -> 1234
ones -> 4
tens -> 3
hundreds -> 2
thousands -> 1

Now I just need help accessing the element of the tables so it prints the words...
#include <iostream>
#include <string>
#include <windows.h>
#define color(x) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x)

using namespace std;

class Numbers {
private:
	string ones[19];
	string tens[8];
	string hundred[1];
	string thousand[1];
public:
	int number;
	Numbers();
	void storeNumber(int);
	void convertNumber();
};

Numbers::Numbers(){	//Constructor
	number = 0;
	ones[20] = "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen";
	tens[8] = "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety";
	hundred[0] = "hundred";
	thousand[0] = "thousand";
}

void Numbers::storeNumber(int number){
	this -> number = number;
}

void Numbers::convertNumber(){
	int oneInfo = this -> number % 10;
	int tenInfo = ((this -> number % 100) - oneInfo) / 10;
	int hundredInfo = ((this -> number % 1000) - tenInfo) / 100;
	int thousandInfo = (this -> number - hundredInfo) / 1000;
	cout << this -> number << endl;
	cout << "ones:" << oneInfo << endl;
	cout << "tens:" << tenInfo << endl;
	cout << "hundreds:" << hundredInfo << endl;
	cout << "thousands:" << thousandInfo << endl;
	
}


int main() {
	int number = 0;
	Numbers N;
	

	cout << "Please enter a number between 1-9999: ";
	cin >> number;
	if(number < 1 || number > 9999) {
		do{
			color(12);
			printf("Error!! @var address %x\n\n\n\n", &number);
			color(7);
			cout << "You must enter a number larger than 1 and less than 9999: ";
			cin >> number;
		}while(number < 1 || number > 9999);
	}
	N.storeNumber(number);
	N.convertNumber();



	return 0;
}



Any suggestions are deliciously welcomed.

This post has been edited by IngeniousHax: 25 February 2010 - 10:49 PM


Is This A Good Question/Topic? 0
  • +

Replies To: Got things to reduce, but need a little help

#2 gsekhon  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 24
  • Joined: 18-February 10

Re: Got things to reduce, but need a little help

Posted 25 February 2010 - 11:27 PM

Two ways you can do it:

Easy lazy way--> Forget about using privately declared variables. Change your private declarations into public ones. Now you can access all your arrays of strings using the dot operator on the numbers class. Ie:

 N.ones[1] 
or whatever. This horribly against general programming practice, I believe.


Proper way --> Make a bunch of public functions whose sole goal is to return things. Something like:

 string Number::GetOnes(int position){ return ones[position]; } 


for each of the private variables you have. This is the proper way to do things in classes. ie

 N.GetOnes(5); 

This post has been edited by gsekhon: 25 February 2010 - 11:28 PM

Was This Post Helpful? 0
  • +
  • -

#3 Israel  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 7
  • View blog
  • Posts: 818
  • Joined: 22-November 04

Re: Got things to reduce, but need a little help

Posted 25 February 2010 - 11:51 PM

On a side note. Your error message:

You must enter a number larger than 1 and less than 9999: Error!! @var address 64feac


Seems to be running an endless loop. I had to manually kill the process. You might want to add a exit() function at the end of that loop. Or whatever C++ uses for that. I've always been more of a C fan :)
Was This Post Helpful? 0
  • +
  • -

#4 IngeniousHax  Icon User is offline

  • |>|20-514<|{3|2

Reputation: 78
  • View blog
  • Posts: 1,358
  • Joined: 28-March 09

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 12:02 AM

I definitely understand what you are saying, but it isn't printing anything... I don't understand why...

#include <iostream>
#include <string>
#include <windows.h>
#define color(x) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x)	// Definining this color function as color(x)
using namespace std;

class Numbers {
private:
	string ones[19];
	string tens[8];
	string hundred[1];
	string thousand[1];
public:
	int oneInfo;
	int tenInfo;
	int hundredInfo;
	int thousandInfo;
	int number;
	Numbers();	//constructor function
	void storeNumber(int);	// moving user input into member object
	int convertNumber();	//converting the aforementioned number into its single digit forms
	string getOnes(int);
	string getTens(int);
	string getHundreds(int);
	string getThousands(int);
	void print(int, int, int, int, int);	// to print the string values of the aforementioned number
};

Numbers::Numbers(){	//Constructor
	number = 0;
	ones[19] = "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen";
	tens[8] = "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety";
	hundred[0] = "hundred";
	thousand[0] = "thousand";
	oneInfo = 0;
	tenInfo = 0;
	hundredInfo = 0;
	thousandInfo = 0;
}

void Numbers::storeNumber(int number){		//Store user defined number into class member number
	this -> number = number;
}

/***********************\
| Converting numbers to |
| their single digit	|
| form.					|
\***********************/

int Numbers::convertNumber(){
	oneInfo = this -> number % 10;
	tenInfo = ((this -> number % 100) - oneInfo) / 10;
	hundredInfo = ((this -> number % 1000) - tenInfo) / 100;
	thousandInfo = (this -> number - hundredInfo) / 1000;
	cout << this -> number << endl;
	cout << "ones:" << oneInfo << endl;
	cout << "tens:" << tenInfo << endl;
	cout << "hundreds:" << hundredInfo << endl;
	cout << "thousands:" << thousandInfo << endl;
	return oneInfo, tenInfo, hundredInfo, thousandInfo;
	
}

string Numbers::getOnes(int oneInfo) { return ones[oneInfo]; }
string Numbers::getTens(int tenInfo) { return tens[tenInfo]; }
string Numbers::getHundreds(int hundredInfo) { return hundred[hundredInfo]; }
string Numbers::getThousands(int thousandInfo) { return thousand[thousandInfo]; }


void Numbers::print(int oneInfo, int tenInfo, int hundredInfo, int thousandInfo, int number) {
	cout << getOnes(oneInfo) << endl;
}



int main() {
	int number = 0, oneInfo = 0, tenInfo = 0, hundredInfo = 0, thousandInfo = 0;
	Numbers N;
	

	cout << "Please enter a number between 1-9999: ";
	cin >> number;
	if(number < 1 || number > 9999) {	// Error checking for input
		do{
			color(12);	//Change color to red and print variable number address as error
			printf("Error!! @var address %x\n\n\n\n", &number);
			color(7);	// Change color back to default grey
			cout << "You must enter a number larger than 1 and less than 9999: ";
			cin >> number;
		}while(number < 1 || number > 9999); // continue to loop if user does not enter correct number
	}
	N.storeNumber(number);	//call the class function to store number in member variable
	N.convertNumber();	// reduce numbers function
	N.print(oneInfo, tenInfo, hundredInfo, thousandInfo, number);



	return 0;
}



EDIT:: I haven't had any problems, you just gotta make sure to enter a positive number @ Israel

This post has been edited by IngeniousHax: 26 February 2010 - 12:05 AM

Was This Post Helpful? 0
  • +
  • -

#5 gsekhon  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 24
  • Joined: 18-February 10

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 12:11 AM

I have never really declared things like this but:

ones[19] = "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen";


Are you sure that isn't just putting data into the 19th position of the ones array, and not in any other position? One other thing to note is that you have the array declared as 19 spots but give it 20 positions worth of data. It seems to me like everything is only going into ones[19], and not ones[0] through ones[19].

Easy way to check this would be to use the debugger I think. If you haven't used the debugger before maybe not then. Try to print out position 19 and see what you get I guess.
Edit: Tested it myself (just realized I could do that!) and confirmed that your problem is the way you assign your variables. You have to do it one by one, sorry.

ones[1] = "one", etc.

This post has been edited by gsekhon: 26 February 2010 - 12:17 AM

Was This Post Helpful? 0
  • +
  • -

#6 IngeniousHax  Icon User is offline

  • |>|20-514<|{3|2

Reputation: 78
  • View blog
  • Posts: 1,358
  • Joined: 28-March 09

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 12:16 AM

Yeah, that doesn't print anything... =/

EDIT::
so you're saying I need to...
one[1] = "one";
one[2] = "two"; etc...?

This post has been edited by IngeniousHax: 26 February 2010 - 12:20 AM

Was This Post Helpful? 0
  • +
  • -

#7 gsekhon  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 24
  • Joined: 18-February 10

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 12:36 AM

View PostIngeniousHax, on 25 February 2010 - 11:16 PM, said:

Yeah, that doesn't print anything... =/

EDIT::
so you're saying I need to...
one[1] = "one";
one[2] = "two"; etc...?


yup. it's a pain, i know =/
Was This Post Helpful? 0
  • +
  • -

#8 IngeniousHax  Icon User is offline

  • |>|20-514<|{3|2

Reputation: 78
  • View blog
  • Posts: 1,358
  • Joined: 28-March 09

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 12:43 AM

Got it kind of working... But I get an error saying ones and tens not members of Numbers...

#include <iostream>
#include <string>
#include <windows.h>
#define color(x) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x)	// Definining this color function as color(x)
using namespace std;

class Numbers {
private:
	string hundred;
	string thousand;
public:
	int oneInfo;
	int tenInfo;
	int hundredInfo;
	int thousandInfo;
	int number;
	Numbers();	//constructor function
	void storeNumber(int);	// moving user input into member object
	int convertNumber();	//converting the aforementioned number into its single digit forms
	string getOnes(int);
	string getTens(int);
	string getHundreds(int);
	string getThousands(int);
	void print(int, int, int, int, int);	// to print the string values of the aforementioned number
};

/***************************\
| Constructor defined here	|
\***************************/

Numbers::Numbers(){
	number = 0;
	string ones[ ] ={ "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"}; // <---this compiles
	string tens[ ] ={ "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"}; // <-- this compiles
	hundred = "hundred";
	thousand = "thousand";
	oneInfo = 0;
	tenInfo = 0;
	hundredInfo = 0;
	thousandInfo = 0;
}

/***********************\
| Store user defined	| 
| number into class		|
| member number			|
\***********************/

void Numbers::storeNumber(int number){
	this -> number = number;
}

/***********************\
| Converting numbers to |
| their single digit	|
| form.					|
\***********************/

int Numbers::convertNumber(){
	oneInfo = this -> number % 10;
	tenInfo = ((this -> number % 100) - oneInfo) / 10;
	hundredInfo = ((this -> number % 1000) - tenInfo) / 100;
	thousandInfo = (this -> number - hundredInfo) / 1000;
	cout << this -> number << endl;
	cout << "ones:" << oneInfo << endl;
	cout << "tens:" << tenInfo << endl;
	cout << "hundreds:" << hundredInfo << endl;
	cout << "thousands:" << thousandInfo << endl;
	return oneInfo, tenInfo, hundredInfo, thousandInfo;
	
}

string Numbers::getOnes(int oneInfo) { return ones[oneInfo]; } // <---HERE
string Numbers::getTens(int tenInfo) { return tens[tenInfo]; } // <---HERE
string Numbers::getHundreds(int hundredInfo) { return hundred; }
string Numbers::getThousands(int thousandInfo) { return thousand; }


void Numbers::print(int oneInfo, int tenInfo, int hundredInfo, int thousandInfo, int number) {
	cout << oneInfo << endl;
	cout << getOnes(oneInfo) << endl;
}



int main() {
	int number = 0, oneInfo = 0, tenInfo = 0, hundredInfo = 0, thousandInfo = 0;
	Numbers N;
	

	cout << "Please enter a number between 1-9999: ";
	cin >> number;
	if(number < 1 || number > 9999) {	// Error checking for input
		do{
			color(12);	//Change color to red and print variable number address as error
			printf("Error!! @var address %x\n\n\n\n", &number);
			color(7);	// Change color back to default grey
			cout << "You must enter a number larger than 1 and less than 9999: ";
			cin >> number;
		}while(number < 1 || number > 9999); // continue to loop if user does not enter correct number
	}
	N.storeNumber(number);	//call the class function to store number in member variable
	N.convertNumber();	// reduce numbers function
	N.print(oneInfo, tenInfo, hundredInfo, thousandInfo, number);	//This is not correct and needs tweaking!!



	return 0;
}


Was This Post Helpful? 0
  • +
  • -

#9 gsekhon  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 24
  • Joined: 18-February 10

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 12:53 AM

View PostIngeniousHax, on 25 February 2010 - 11:43 PM, said:

Got it kind of working... But I get an error saying ones and tens not members of Numbers...

/***************************\
| Constructor defined here	|
\***************************/

Numbers::Numbers(){
	number = 0;
	string ones[ ] ={ "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"}; // <---this compiles
	string tens[ ] ={ "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"}; // <-- this compiles
	hundred = "hundred";
	thousand = "thousand";
	oneInfo = 0;
	tenInfo = 0;
	hundredInfo = 0;
	thousandInfo = 0;
}



The way functions work in C++ is any variable created inside a function is destroyed right when the function is returned. ones is created in your constructor, and then a few lines later when you reach the end of your constructor, it is deleted. Also, since it does not appear in your class declarations list, it is not going to be a part of the class. Any variable that you want to be a part of the class has to be declared within the

class Numbers{

blah

}



section of your code. To my knowledge, the only way is to assign each position of the array individually, as:

ones[0] = "";
ones[1] = "one";
ones[2] = "two";
etc



I am not sure what other way you could do this.
Was This Post Helpful? 0
  • +
  • -

#10 Israel  Icon User is offline

  • D.I.C Addict
  • member icon

Reputation: 7
  • View blog
  • Posts: 818
  • Joined: 22-November 04

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 02:36 AM

Quote

I haven't had any problems, you just gotta make sure to enter a positive number @ Israel


I didn't know your program took arguments (a positive integer) at first. I just ran it with the program name and got an infinite loop. Just thought you might want to know that. You may want to add a error with something like "Usage: programname <arg1>". So the user can deduce that. Just a suggestion...
Was This Post Helpful? 0
  • +
  • -

#11 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 5800
  • View blog
  • Posts: 12,635
  • Joined: 16-October 07

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 03:21 AM

While you can't use an array initializer after you've declared the thing, you can declare it inside a method and use that.

You can also add some logic to it's usage:
const string &Numbers::getTens(int n) {
	static string names[8] = { "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };
	if (n<2 || n>9) { return "*oops*"; }
	return names[n-2];
}


Was This Post Helpful? 1
  • +
  • -

#12 IngeniousHax  Icon User is offline

  • |>|20-514<|{3|2

Reputation: 78
  • View blog
  • Posts: 1,358
  • Joined: 28-March 09

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 10:11 AM

Thanks everyone! I finally got it working... Here is the working code, perhaps there is a way to clean it up a bit?

Note:: Not needed but more efficient coding practices in the beginning make a better coder in the end. =)
#include <iostream>
#include <string>
#include <windows.h>
#define color(x) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x)	// Definining this color function as color(x)
using namespace std;

class Numbers {
private:
	string hundred;
	string thousand;
public:
	int oneInfo;
	int tenInfo;
	int hundredInfo;
	int thousandInfo;
	int number;
	Numbers();	//constructor function
	void storeNumber(int);	// moving user input into member object
	int convertNumber();	//converting the aforementioned number into its single digit forms
	string getOnes(int);
	string getTens(int);
	string getHundreds();
	string getThousands();
	void print(int, int, int, int, int);	// to print the string values of the aforementioned number
};

/***************************\
| Constructor defined here	|
\***************************/

Numbers::Numbers(){
	number = 0;
	oneInfo = 0;
	tenInfo = 0;
	hundredInfo = 0;
	thousandInfo = 0;
}

/***********************\
| Store user defined	| 
| number into class		|
| member number			|
\***********************/

void Numbers::storeNumber(int number){
	this -> number = number;
}

/***********************\
| Converting numbers to |
| their single digit	|
| form.					|
\***********************/

int Numbers::convertNumber(){
	oneInfo = this -> number % 10;
	tenInfo = ((this -> number % 100) - oneInfo) / 10;
	hundredInfo = ((this -> number % 1000) - tenInfo) / 100;
	thousandInfo = (this -> number - hundredInfo) / 1000;
	return oneInfo, tenInfo, hundredInfo, thousandInfo;
	
}

string Numbers::getOnes(int oneInfo) { 
	static string ones[ ] ={ "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
	return ones[oneInfo]; 
}

string Numbers::getTens(int tenInfo) { 
	static string tens[ ] ={"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
	return tens[tenInfo]; 
}

string Numbers::getHundreds() { 
	hundred = "hundred";
	return hundred; 
}

string Numbers::getThousands() { 
	thousand = "thousand";
	return thousand; 
}


void Numbers::print(int oneInfo, int tenInfo, int hundredInfo, int thousandInfo, int number) {
	cout << "\n\n\n\n";
	cout << this -> number << " is equal to ";
	
	color(11);
	if(this -> thousandInfo > 0) {
		cout << getOnes(this -> thousandInfo) << getThousands() << " ";
	}
	if(this -> hundredInfo > 0) {
		cout << getOnes(this -> hundredInfo) << getHundreds() << " " ;
	}
	if(this -> tenInfo > 0 && this -> tenInfo < 9){
		cout << getTens(this -> tenInfo) << getOnes(this -> oneInfo) << " ";
	}
	if(this -> oneInfo < 20 && oneInfo > 0){
		cout << getOnes(this -> oneInfo) << " " << endl;
	}
	color(7); 
	cout << "in check form." << endl;
	cout << "\n\n\n" << endl;
}

int main() {
	int number = 0, oneInfo = 0, tenInfo = 0, hundredInfo = 0, thousandInfo = 0;
	Numbers N;
	
	cout << "Please enter a number between 1-9999: ";
	cin >> number;
	if(number < 1 || number > 9999) {	// Error checking for input
		do{
			color(12);	//Change color to red and print variable number address as error
			printf("Error!! @var address %x\n\n\n\n", &number);
			color(7);	// Change color back to default grey
			cout << "You must enter a number larger than 1 and less than 9999: ";
			cin >> number;
		}while(number < 1 || number > 9999); // continue to loop if user does not enter correct number
	}
	N.storeNumber(number);	//call the class function to store number in member variable
	N.convertNumber();	// reduce numbers to single digits 
	N.print(oneInfo, tenInfo, hundredInfo, thousandInfo, number);	//Call this function to print out english representation of number
	
	return 0;
}



I will more than like place all my class stuff in a .h file
Was This Post Helpful? 0
  • +
  • -

#13 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 5800
  • View blog
  • Posts: 12,635
  • Joined: 16-October 07

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 10:47 AM

Unfortunately, this really isn't an OOP kind of problem, so your class is overkill. Still, we'll work with it. You have a number of methods that don't do enough to justify their existence.

Here's your code, all cleaned up:
#include <iostream>
#include <string>

using namespace std;

class Numbers {
private:
	int number;
public:
	Numbers();
	void setNumber(int);
	int getNumber() const;
	void printCheck() const;
};

Numbers::Numbers() : number(0) { }
void Numbers::setNumber(int number){ this->number = number; }
int Numbers::getNumber() const { return this->number; }

void Numbers::printCheck() const {
	static string ones[] ={ "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
	static string tens[] ={"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
	
	int oneInfo = number % 10;
	int tenInfo = ((number % 100) - oneInfo) / 10;
	int hundredInfo = ((number % 1000) - tenInfo) / 100;
	int thousandInfo = (number - hundredInfo) / 1000;

	if(thousandInfo > 0) { cout << ones[thousandInfo] << " thousand "; }
	if(hundredInfo > 0) { cout << ones[hundredInfo] << " hundred "; }
	if(tenInfo > 0 && tenInfo < 9) { cout << tens[tenInfo] << " " << ones[tenInfo] << " "; }
	if(oneInfo < 20 && oneInfo > 0) { cout << ones[oneInfo]; }
}


void print(Numbers &numbers) {
	cout << endl;
	cout << numbers.getNumber() << " is equal to ";
	numbers.printCheck();
	cout << endl << "in check form." << endl;
	cout << "\n\n\n" << endl;
}

int getNumberFromUser() {
	int number;
	while(true) {
		cout << "Please enter a number between 1-9999: ";
		cin >> number;
		cin.ignore();
		if (number > 1 && number < 9999) { break; }
		cout << "You must enter a number larger than 1 and less than 9999: ";
	}
	return number;
}

int main() {
	Numbers numbers;
	
	numbers.setNumber(getNumberFromUser());
	print(numbers);
	
	return 0;
}



There is still a logic error in how you handle an amount less than 20. I did not fix that; you gotta have some fun.

Hope this helps.
Was This Post Helpful? 2
  • +
  • -

#14 IngeniousHax  Icon User is offline

  • |>|20-514<|{3|2

Reputation: 78
  • View blog
  • Posts: 1,358
  • Joined: 28-March 09

Re: Got things to reduce, but need a little help

Posted 26 February 2010 - 03:36 PM

Thanks Baavagi! It's far cleaner lookin. ^.^
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1