Jump to content
Sign in to follow this  
CoolMaster

Classes?

Recommended Posts

int vinylRecord::compareRecords(vinylRecord temp1,vinylRecord temp2,int num)

int compareRecords(vinylRecord temp2,int num);

 

^^ and the prototypes

Do you see how the prototype is different from the declaration? That makes the compiler confused :)

Share this post


Link to post
Share on other sites

but how would I compare then when in the actual function im like if temp1>temp2.......what would I do?

 

cause i made it like

int vinylRecord::compareRecords(vinylRecord temp1,vinylRecord temp2,int num)

 

but now it's complaining about this function does not take 2 parameters when I call it like this

 

cout<<"\nCompare by purchase date: "<<temp1.compareRecords(temp2, 1);

Edited by CoolMaster

Share this post


Link to post
Share on other sites

hmmm this gave me no errors,

i called it like this

 

cout<<"\nCompare by purchase date: "<<temp1.compareRecords(temp2, 1);

 

here's the function

int vinylRecord::compareRecords(vinylRecord temp2,int num)

{


 if(num==1)
{
	if(puryear<temp2.puryear)
	{
	return -1;
	}

	if(puryear>temp2.puryear)
	{
	return 1;
	}

	if (puryear==temp2.puryear && purmonth<temp2.purmonth)
	{
	return -1;
	}

	if (puryear==temp2.puryear && purmonth>temp2.purmonth)
	{
	return 1;
	}

	if (puryear==temp2.puryear && purmonth==temp2.purmonth && purday < temp2.purday)
	{
	return -1;
	}

	if (puryear==temp2.puryear && purmonth==temp2.purmonth && purday > temp2.purday)
	{
	return 1;
	}

	if(puryear==temp2.price && purmonth==temp2.purmonth && purday==temp2.purday)
	{
	return 0;
	}


}


if(num==2)
{
	if(price>temp2.price)
	{
		return -1;
	}
	if(price==temp2.price)
	{
		return 0;
	}
	else
	{
		return 1;
	}
}

 if(num==4)
{
	if(saleprice>temp2.saleprice)
	{
		return 1;
	}
	if(saleprice==temp2.saleprice)
	{
		return 0;
	}
	else
	{
		return -1;
	}
}





  if(num==3)
{
	if(rating>temp2.rating)
	{
		return 1;
	}
	if(rating==temp2.rating)
	{
		return 0;
	}
	else
	{
		return -1;
	}
}


cout << '\n' << '\n';

}

 

and header file proto

int compareRecords(vinylRecord temp2,int num);

 

basically i took the temp1. salesprice and just made it salesprice, since i called it as temp1.comparerecords

and since im just comparing 1 to 2....then it should work...i hope

i dunno if thats the right way or not tho lol

 

 

EDIT: WOOT IT COMPARES CORRECTLY HECK YES!!!!!!!!!!

i think i actually understand classes now, when u call a function u can store it directly into something, and then store what u stored to a temp variable

 

like temp1.readrecord

 

and it keeps those values, until u store it or change the actual things (price,name,album) etc...

Edited by CoolMaster

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×