Here is my code for print method:
-(void) print
{
if (numerator > denominator)
{
int entire = numerator / denominator;
int newNum = numerator % denominator;
Fraction *newFrac = [[Fraction alloc] init];
newFrac.numerator = newNum;
newFrac.denominator = denominator;
[newFrac reduce];
if (!newFrac.numerator)
NSLog (@"%i", entire);
else
NSLog (@"%i %i/%i", entire, newFrac.numerator, newFrac.denominator);
[newFrac release];
}
else if (numerator == denominator)
{
int oneNumber = numerator / denominator;
NSLog (@"%i (whole)", oneNumber);
}
else if (!denominator)
NSLog (@"NAN");
}
And I have print: method included from the previous exercises as well:
-(void) print: (BOOL) lessen
{
if (lessen)
{
Fraction *testFrac = [[Fraction alloc] init];
[testFrac setTo: numerator over: denominator];
[testFrac reduce];
if (testFrac.denominator < 0)
{
testFrac.denominator = -testFrac.denominator;
testFrac.numerator = -testFrac.numerator;
}
NSLog (@"%i/%i (reduced)", testFrac.numerator, testFrac.denominator);
[testFrac release];
}
else
{
if (denominator < 0)
{
numerator = -numerator;
denominator = -denominator;
}
NSLog (@"%i/%i (non-reduced)", numerator, denominator);
}
}
If it's possible to reduce the code or make it better, feel free to leave a comment/message.
Thanks