// // 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; }
#import <Foundation/Foundation.h> #import "Calcultor.h" @interface Menu : NSObject { Calcultor * _cal; } /**显示菜单选项*/ -(void)showMenu:(Calcultor *)cal; @end
#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
#import <Foundation/Foundation.h> @interface Calcultor : NSObject { @public /**用来记录操作数1*/ double _number1; /**用来记录操作数2*/ double _number2; /**用来记录结果*/ double _result; /**用来记录操作符*/ char _calcultorOperator; } [email protected] @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
#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
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/3376.html