- //
- // 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;
- }
- //@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
- #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
来源: http://www.phpxs.com/code/1005479/