FengShu.m,,FengShu.h

7 篇文章 0 订阅

//  FengShu.m

#import "FengShu.h"


@implementation FengShu

@synthesize a;


-(void)setB:(NSInteger)_b  //设置器

{

    if(_b==0)

    {

        _b=1;

    }

    else{

        b=_b;

    }

}


-(NSInteger)b{    //访问器

    return b;

}

-(id)initWithA:(int)_a B:(int)_b

    if(self==[super init])

    {

        self.a=_a;

        self.b=_b;  //self setB:_b;

    }

    return self;

}

-(void)add:(FengShu *)aFraction

{

    self.a=self.a*aFraction.b+self.b*aFraction.a;

    self.b=self.b*aFraction.b;

    [self reduce];

}

-(void)subtract:(FengShu *)aFraction

{

    self.a=self.a*aFraction.b-self.b*aFraction.a;

    self.b=self.b*aFraction.b;

    [self reduce];

}

//分数约分

- (void)reduce

{

    int aa=abs(self.a);

    int bb=abs(self.b);

    //int min =(self.a<self.b)?self.a:self.b;

    int min =(aa<bb)?aa:bb;

    int s =1;//公约数

    for(int i=1;i<=min;i++)

    {

        if(self.a%i==0&&self.b%i==0)

        {

            s=i;

        }

    }

    self.a /=s;

    self.b /=s;

}


-(void)print{

    NSLog(@"a=%d/b=%d",self.a,self.b);}

@end




//  FengShu.h

#import <Foundation/Foundation.h>


@interface FengShu : NSObject

{

    NSInteger a;//分子

    NSInteger b;//分母

}

@property(nonatomic,assign) NSInteger a;

@property(nonatomic,assign) NSInteger b;

-(id)initWithA:(NSInteger)_a B:(NSInteger)_b;

-(void)add:(FengShu *)aFraction;

-(void)subtract:(FengShu *)aFraction;

-(void)reduce;

-(void)print;

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值