IOS計算器的實現
// // main.m // Calcultor/ 計算器的簡單實現 1.加法 2.減法 3.乘法 4.除法 實現兩個數的運算 /
import <Foundation/Foundation.h>
import "Calcultor.h"
import "Menu.h"
int main(int argc, const char argv[]) { Calcultor cal = [[Calcultor alloc]init];
//[cal setNumber1:10]; //[cal setNumber2:10]; //[cal setResult:0]; //[cal setCalcultorOperator:'+'];
// [cal initWithNumber1:10 andInitWithNumber2:10 andInitWithCalcultorOperator:'+']; //[cal counter]; //NSLog(@"%@",cal); double number1; double number2; // double result; char operator;
NSLog(@"請輸入一個算式例如A+B:\n"); scanf("%lf",&number1); scanf("%c",&operator); scanf("%lf",&number2); [cal setNumber1:number1]; [cal setNumber2:number2];
//[cal setCalcultorOperator:operator]; // [cal counter:operator];
NSLog(@"您計算的結果是=%.lf",[cal counter:operator]);
//
// Menu * menu = [[Menu alloc]init]; //
// [menu showMenu];return 0;
} </pre>
#import <Foundation/Foundation.h>import "Calcultor.h"
@interface Menu : NSObject
{ Calcultor _cal; } /**顯示菜單選項/ -(void)showMenu:(Calcultor *)cal;
@end </pre>
#import "Menu.h"@implementation Menu
/*顯示菜單選項/ -(void)showMenu:(Calcultor *)cal; {
// NSLog(@"菜單"); // NSLog(@"1.計算 + - * /"); // NSLog(@"2.計算一個數的平方"); // NSLog(@"請輸入您的的選項:"); // int selectNumber; // scanf("%d",&selectNumber); // switch () { // case : // break; //
// default: // break; // }} @end </pre>
#import <Foundation/Foundation.h>@interface Calcultor : NSObject { @public /*用來記錄操作數1/ double _number1;
/**用來記錄操作數2*/ double _number2; /**用來記錄結果*/ double _result; /**用來記錄操作符*/ char _calcultorOperator;
} //@property聲明 @property double number1; @property double number2; @property double result; @property char calcultorOperator;
/*加法/ -(double)add;
/*減法/ -(double)subtract;
/*乘法/ -(double)multiply;
/*除法/ -(double)divide;
-(double)square;
/*計算器的簡單實現/ -(double)counter:(char)calcultor;
//-(void)initWithNumber1:(double)number1 andInitWithNumber2:(double)number2 andInitWithCalcultorOperator:(char)calcultor;
@end </pre>
#import "Calcultor.h"@implementation Calcultor -(id)init { if(self = [super init]) { _result = 0.0; } return self; } /*加法/
- (double)add { return (_number1 + _number2); //NSLog(@"%.1lf",_result); }
/*減法/
- (double)subtract { return _number1 - _number2; //NSLog(@"%.1lf",_result); }
/*乘法/
- (double)multiply { return _number1 * _number2; //NSLog(@"%.1lf",_result); }
/*除法/
- (double)divide
{ return _number1 / _number2; //NSLog(@"%.1lf",_result); }
-(double)square { return _number1 * _number1; }
/*計算器的簡單實現/ -(double)counter:(char)calcultor { //char calcultor;//局部變量
switch (calcultor) {
case '+':
_result = [self add];
break;
case '-':
_result = [self subtract];
break;
case '*':
_result = [self multiply];
break;
case '/':
_result = [self divide];
break;
default:
break;
}
return _result;
}
//- (void)initWithNumber1:(double)number1 andInitWithNumber2:(double)number2 andInitWithCalcultorOperator:(char)calcultor //{ // _number1 = number1; // _number2 = number2; // _calcultorOperator = calcultor; //}
/*!!!調試用的!!!/
-(NSString *)description
{
return [NSString stringWithFormat:@"操作數1:%.1lf 操作數2:%.1lf 結果 : %.1lf 操作符 : %c",_number1,_number2,_result,_calcultorOperator];
}
@end
</pre>