//
//
Fenshu.h
//
Oc_Eop
//@IOS荣天
// Created
by Ibokan on 12-7-28.
//
Copyright (c) 2012年 __MyCompanyName__. All
rights reserved.
//
#import
<Foundation/Foundation.h>
@interface Fenshu : NSObject
{
int _fenzi;
int _fenmu;
}
@property (nonatomic,assign)int fenzi;
@property (nonatomic,assign)int fenmu;
//自定义类的初始化方法
+ (id)fenshuWithFenzi:(int)
newFenzi Fenmu:(int) newFenmu;
- (id)initWithFenzi:(int) newFenzi
Fenmu:(int) newFenmu;
//加法
- (Fenshu *)jiafa:(Fenshu
*)num1;
//减法
- (Fenshu *)jianfa:(Fenshu
*)num1;
//乘法
- (Fenshu *)chengfa:(Fenshu
*)num1;
//除法、
- (Fenshu *)chufa:(Fenshu
*)num1;
//约分方法
- (Fenshu *)yuefen:(Fenshu
*)num1;
//最大公约数
- (int)shuMax:(Fenshu *)num1;
@end
2.
//
// Fenshu.m
// Oc_Eop
//
// Created by Ibokan on
12-7-28.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import "Fenshu.h"
@implementation Fenshu
@synthesize
fenzi=_fenzi, fenmu=_fenmu;
+ (id)fenshuWithFenzi:(int)
newFenzi Fenmu:(int) newFenmu
{
Fenshu *fenshu=[[Fenshu
alloc]initWithFenzi:newFenzi Fenmu:newFenmu];
return fenshu;
}
- (id)initWithFenzi:(int) newFenzi
Fenmu:(int) newFenmu
{
self=[super init];
if(self)
{
self.fenzi=newFenzi;
self.fenmu=newFenmu;
}
return self;
}
//加法
- (Fenshu
*)jiafa:(Fenshu *)num1
{
num1.fenzi=(self.fenzi*num1.fenmu)+(num1.fenzi*self.fenmu);
num1.fenmu=self.fenmu*num1.fenmu;
num1=[self yuefen:num1];
return num1;
}
//减法
- (Fenshu
*)jianfa:(Fenshu *)num1
{
num1.fenzi=(self.fenzi*num1.fenmu)-(num1.fenzi*self.fenmu);
num1.fenmu=self.fenmu*num1.fenmu;
num1=[self yuefen:num1];
return num1;
}
//乘法
- (Fenshu
*)chengfa:(Fenshu *)num1
{
num1.fenzi=self.fenzi*num1.fenzi;
num1.fenmu=self.fenmu*num1.fenmu;
num1=
[self yuefen:
num1];
return num1;
}
//除法、
- (Fenshu
*)chufa:(Fenshu *)num1
{
num1.fenzi=num1.fenzi*self.fenmu;
num1.fenmu=num1.fenmu*self.fenzi;
num1=[num1
yuefen:num1];
return num1;
}
//约分方法
- (Fenshu
*)yuefen:(Fenshu *)num1
{
int i=[num1 shuMax:num1];
num1.fenzi/=i;
num1.fenmu/=i;
return num1;
}
//最大公约数
- (int)shuMax:(Fenshu *)num1
{
int flag=num1.fenzi<num1.fenmu?num1.fenzi:num1.fenmu;
for(int
i=flag;i>=0;i--)
{
if(num1.fenzi%i==0&&num1.fenmu%i==0)
{
return i;
}
}
return 1;
}
@end
3.
//
// main.m
// Oc_Eop
//@IOS荣天
// Created by Ibokan on
12-7-28.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import
<Foundation/Foundation.h>
#import "Fenshu.h"
int main (int argc, const char * argv[])
{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc]init];
Fenshu
*fenshu1=[[Fenshu alloc]initWithFenzi:1 Fenmu:2];
Fenshu *fenshu=[[Fenshu
alloc]initWithFenzi:1 Fenmu:3];
Fenshu *fenshu7=[Fenshu
fenshuWithFenzi:2
Fenmu:7];//类的初始化方法实现
Fenshu *fenshu3=[[Fenshu
alloc]initWithFenzi:0 Fenmu:0];
//jiafa
jianfa chengfa chufa
fenshu3=[fenshu
chufa:fenshu7];
NSLog(@"%d/%d",fenshu3.fenzi,fenshu3.fenmu);
//[fenshu3 release];
[pool
drain];
return 0;
}