part 3 Calculator code
// Calculator.h
// Fraction-Calculator
//
// Created by Fred H Koch on 10/25/11.
//
#import <UIKit/UIKit.h>
#import "Fraction.h"
@interface Calculator : NSObject
{
Fraction *operand1;
Fraction *operand2;
Fraction *accumulator;
}
@property (strong, nonatomic) Fraction *operand1, *operand2, *accumulator;
- (Fraction *) performOperation: (char) op;
- (void) clear;
@end
// Calculator.m
// Fraction-Calculator
//
// Created by Fred H Koch on 10/25/11.
//
#import "Calculator.h"
@implementation Calculator
@synthesize operand1, operand2, accumulator;
- (id) init
{
self = [super init];
if (self) {
operand1 = [[Fraction alloc] init];
operand2 = [[Fraction alloc] init];
accumulator = [[Fraction alloc] init];
}
return self;
}
-(void) clear
{
accumulator.numerator = 0;
accumulator.denominator = 1;
}
- (Fraction *) performOperation:(char)op
{
Fraction *result;
switch (op) {
case '+':
result = [operand1 add: operand2];
break;
case '-':
result = [operand1 subtract: operand2];
break;
case '*':
result = [operand1 multiply: operand2];
break;
case '/':
result = [operand1 divide: operand2];
break;
}
accumulator.numerator = result.numerator;
accumulator.denominator = result.denominator;
return accumulator;
}
@end