분수의 합구하는 코드
File Name Fraction.h
#import <Foundation/Foundation.h>
@interface Fraction : NSObject
{
int numerator;
int denominator;
}
@property int numerator, denominator;
-(void) print;
-(void) setTo: (int) n over: (int) d;
-(double) convertToNum;
-(void) add: (Fraction *) f; //합
-(void) reduce; //약분
@end
File Name Fraction.m
#import "Fraction.h"
@implementation Fraction
@synthesize numerator, denominator;
-(void) print
{
NSLog(@"%i/%i", numerator, denominator);
}
-(double) convertToNum
{
if (denominator !=0)
return (double) numerator/denominator;
else
return 1.0;
}
-(void) setTo: (int) n over: (int) d
{
numerator = n;
denominator = d;
}
-(void) add: (Fraction *) f
{
numerator = numerator *f.denominator + denominator*f.numerator;
denominator = denominator*f.denominator;
}
-(void) reduce
{
int u = numerator;
int v = denominator;
int temp;
while ( v!=0){
temp = u % v;
u = v;
v = temp;
}
numerator /= u;
denominator /= u;
}
@end
Main
#import <Foundation/Foundation.h>
#import "Fraction.h"
int main(int argc, const char * argv[])
{
Fraction *aFraction = [[Fraction alloc]init];
Fraction *bFraction = [[Fraction alloc]init];
[aFraction setTo: 1 over: 4];
[bFraction setTo: 1 over: 2];
[aFraction print];
NSLog(@"+");
[bFraction print];
NSLog(@"=");
[aFraction add: bFraction];
[aFraction reduce];
[aFraction print];
return 0;
}