创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。
2014-08-11 21:46
615 查看
.h文件中的代码
#import <Foundation/Foundation.h>
@interface Fracton :
NSObject
{
NSInteger molecule;//分子
NSInteger denominator;//分母
}
@property NSInteger molecule;
@property NSInteger denominator;
-(void)reductionOfFraction;//约分
- (void)add:(Fracton *)fenshu3;//加
- (Fracton *)sub:(Fracton *)fenshu3;//减
- (void)mult:(Fracton *)fenshu3;//乘法
- (void)division:(Fracton *)fenshu3;//除法
- (void)compare:(Fracton *)fenshu3;//比较
@end
.m文件中的代码
#import "Fracton.h"
@implementation Fracton
@synthesize molecule =
_molecule;
@synthesize denominator =
_denominator;
-(void)reductionOfFraction{
NSInteger a =
self.molecule;
NSInteger b =
self.denominator;
NSInteger c =
0;
while (b != 0) {
c = a % b;
a = b;
b = c;
}
NSLog(@"%ld/%ld",self .molecule/a,self.
denominator/a);
}
- (void)add:(Fracton *)fenshu3{
Fracton *fenshu2 =[Fracton
alloc];
fenshu2.molecule = (self.molecule * fenshu3.denominator) + (fenshu3.molecule *
self.denominator);
fenshu2.denominator =
self.denominator * fenshu3.denominator;
[fenshu2 reductionOfFraction];
}
- (Fracton *)sub:(Fracton *)fenshu3{
Fracton *fenshu2 =[Fracton
alloc];
fenshu2.molecule =
self.molecule * fenshu3.denominator - fenshu3.molecule *
self.denominator;
fenshu2.denominator =
self.denominator * fenshu3.denominator;
[fenshu2 reductionOfFraction];
return fenshu2;
}
- (void)mult:(Fracton *)fenshu3{
Fracton *fenshu2 =[Fracton
alloc];
fenshu2.molecule =
self.molecule * fenshu3.molecule;
fenshu2.denominator =
self.denominator * fenshu3.denominator;
[fenshu2 reductionOfFraction];
}//乘法
- (void)division:(Fracton *)fenshu3{
Fracton *fenshu2 =[Fracton
alloc];
fenshu2.molecule =
self.molecule * fenshu3.denominator;
fenshu2.denominator =
self.denominator * fenshu3.molecule;
[fenshu2 reductionOfFraction];
}//除法
- (void)compare:(Fracton *)fenshu3{
Fracton *fenshu2 =[Fracton
alloc];
fenshu2 = [self
sub:fenshu3];
if (fenshu2.molecule >
0) {
NSLog(@"分数1大于分数2");
}else if(fenshu2.molecule ==
0)
{
NSLog(@"分数等于分数2");
}else{
NSLog(@"分数小于分数2");
}
}
@end
main函数中的实现
nt main(int argc,
const char * argv[])
{
@autoreleasepool {
Fracton *fenshu1 = [Fracton
alloc];
fenshu1.molecule =
4;
fenshu1.denominator =
6;
Fracton *fenshu2 = [Fracton
alloc];
fenshu2.molecule =
2;
fenshu2.denominator =
5;
[fenshu1 add:fenshu2];
[fenshu1 sub:fenshu2];
[fenshu1 mult:fenshu2];
[fenshu1 compare:fenshu2];
[fenshu1 reductionOfFraction];
}
return 0;
}
#import <Foundation/Foundation.h>
@interface Fracton :
NSObject
{
NSInteger molecule;//分子
NSInteger denominator;//分母
}
@property NSInteger molecule;
@property NSInteger denominator;
-(void)reductionOfFraction;//约分
- (void)add:(Fracton *)fenshu3;//加
- (Fracton *)sub:(Fracton *)fenshu3;//减
- (void)mult:(Fracton *)fenshu3;//乘法
- (void)division:(Fracton *)fenshu3;//除法
- (void)compare:(Fracton *)fenshu3;//比较
@end
.m文件中的代码
#import "Fracton.h"
@implementation Fracton
@synthesize molecule =
_molecule;
@synthesize denominator =
_denominator;
-(void)reductionOfFraction{
NSInteger a =
self.molecule;
NSInteger b =
self.denominator;
NSInteger c =
0;
while (b != 0) {
c = a % b;
a = b;
b = c;
}
NSLog(@"%ld/%ld",self .molecule/a,self.
denominator/a);
}
- (void)add:(Fracton *)fenshu3{
Fracton *fenshu2 =[Fracton
alloc];
fenshu2.molecule = (self.molecule * fenshu3.denominator) + (fenshu3.molecule *
self.denominator);
fenshu2.denominator =
self.denominator * fenshu3.denominator;
[fenshu2 reductionOfFraction];
}
- (Fracton *)sub:(Fracton *)fenshu3{
Fracton *fenshu2 =[Fracton
alloc];
fenshu2.molecule =
self.molecule * fenshu3.denominator - fenshu3.molecule *
self.denominator;
fenshu2.denominator =
self.denominator * fenshu3.denominator;
[fenshu2 reductionOfFraction];
return fenshu2;
}
- (void)mult:(Fracton *)fenshu3{
Fracton *fenshu2 =[Fracton
alloc];
fenshu2.molecule =
self.molecule * fenshu3.molecule;
fenshu2.denominator =
self.denominator * fenshu3.denominator;
[fenshu2 reductionOfFraction];
}//乘法
- (void)division:(Fracton *)fenshu3{
Fracton *fenshu2 =[Fracton
alloc];
fenshu2.molecule =
self.molecule * fenshu3.denominator;
fenshu2.denominator =
self.denominator * fenshu3.molecule;
[fenshu2 reductionOfFraction];
}//除法
- (void)compare:(Fracton *)fenshu3{
Fracton *fenshu2 =[Fracton
alloc];
fenshu2 = [self
sub:fenshu3];
if (fenshu2.molecule >
0) {
NSLog(@"分数1大于分数2");
}else if(fenshu2.molecule ==
0)
{
NSLog(@"分数等于分数2");
}else{
NSLog(@"分数小于分数2");
}
}
@end
main函数中的实现
nt main(int argc,
const char * argv[])
{
@autoreleasepool {
Fracton *fenshu1 = [Fracton
alloc];
fenshu1.molecule =
4;
fenshu1.denominator =
6;
Fracton *fenshu2 = [Fracton
alloc];
fenshu2.molecule =
2;
fenshu2.denominator =
5;
[fenshu1 add:fenshu2];
[fenshu1 sub:fenshu2];
[fenshu1 mult:fenshu2];
[fenshu1 compare:fenshu2];
[fenshu1 reductionOfFraction];
}
return 0;
}
相关文章推荐
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。 要求:为类添加属性
- 如何通过创建一个Fraction类(分数)来实现分数的加减乘除,比较大小、约分等方法(方法的实现部分)
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。要求:为类添加属性
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。
- 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法.要求:为类添加属性
- OC 创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。 要求:为类添加属性
- Fraction类(分数)实现分数的加减乘除, ⽐比较⼤大⼩小、约分等⽅方法
- c++一个实现分数大小比较和各种运算的类
- 一个简易的8位计算器,可实现加减乘除,testbench写的较为简易,代码覆盖率有点低。方法比较笨,综合之后的频率不高。
- c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
- 分数的加减乘除 约分 以及比较大小
- 5.编写一个程序,有两个类,其中类MAX中具有两个方法,方法名都是max,一个方法能够比较两个数的大小,另外一个方法能够比较三个数的大小。在另外一个类中创建对象,调用这两个方法,分别输出两组数:2、6
- 3. 定义一个分数类(Fraction) 实例变量:分子,分母 方法:初始化方法(2个参数),便利构造器,约分,打印,加,减,乘,除。
- 创建一个分数类,实现分数的加减乘除
- linux下创建一个指定文件大小,并实现从ext2到ext3的转换
- 第八周实验报告任务3 实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除,求反,比较6种关系的运算。
- 在python中创建class method的一个比较隐晦的方法
- 以屏幕中间为区分,同时调用两个文档占满屏进行比较的一个实现方法
- [原创]详述IComparer,IComparable接口,实现自定义方法比较对象大小并排序(C#)
- 每日一题:编写一个函数,不使用算术运算符,实现比较两个数的大小