//计算器
#import <Foundation/Foundation.h>
#import "Calc.h"
int main(int argc, const char * argv[])
{
@autoreleasepool
{
bool notEnd = true;
Calc *deskcalc = [[Calc alloc] init];
NSLog(@"Type in your expression.");
[deskcalc clear];
while (notEnd)
{
[deskcalc accumulator2];
}
}
return 0;
}
// class头
#import <Foundation/Foundation.h>
@interface Calc : NSObject
{
double accmulator;
}
@property (nonatomic,assign) double accmulator;
-(void)clear;
-(float)add:(double)value;
-(float)subtract:(double)value;
-(float)multiply:(double)value;
-(float)divide:(double)value;
-(double)accumulator2;
@end
//class 实现
#import "Calc.h"
@implementation Calc
@synthesize accmulator;
-(void)setAccu:(double)value
{
accmulator = value;
}
-(void)clear
{
accmulator = 0;
}
char operator;
double value2;
-(double)accumulator2
{
scanf("\n%c %lf",&operator,&value2 );
switch (operator)
{
case 's':
accmulator =value2;
break;
case '+':
[self add:value2];
break;
case '-':
[self subtract:value2];
break;
case '*':
[self multiply:value2];
break;
case '/':
[self divide:value2];
break;
default:
break;
}
return 0;
}
-(float)add:(double)value
{
accmulator += value;
NSLog(@"= %f",accmulator);
return accmulator;
}
-(float)subtract:(double)value
{
accmulator -= value;
NSLog(@"= %f",accmulator);
return accmulator;
}
-(float)multiply:(double)value
{
accmulator *= value;
NSLog(@"= %f",accmulator);
return accmulator;
}
-(float)divide:(double)value
{
accmulator /= value;
NSLog(@"= %f",accmulator);
return accmulator;
}
@end