Programing/Objective-C

Objective-C 08. Class

BoNoLang 2012. 8. 14. 20:31


분수의 합구하는 코드


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;

}