#import "CXViewController.h"
enum {
plusOperation = 101,
minusOperation = 102,
multiplyOperation = 103,
divisionOperation = 104,
percentPlusOperation = 106,
percentMinusOperation = 107,
degreeOperation = 108,
radicalOperation = 109,
floatingPointOperation = 111
};
@interface CXViewController ()
@end
@implementation CXViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (IBAction)clearButton:(id)sender {
x = 0;
y = 0;
enterFlag = NO;
yFlag = NO;
[self calcScreen];
}
- (IBAction)digit:(id)sender {
if (enterFlag) {
y = x;
x = 0;
enterFlag = NO;
}
x = (10 * x) + [sender tag];
[self calcScreen];
}
- (IBAction)constPi:(id)sender {
x = 3.14;
[self calcScreen];
}
- (IBAction)waitingOperation:(id)sender {
if (yFlag && !enterFlag) {
switch (operation) {
case plusOperation:
x = y + x;
break;
case minusOperation:
x = y - x;
break;
case multiplyOperation:
x = y * x;
break;
case divisionOperation:
x = y / x;
break;
case degreeOperation:
x = pow(y, x);
break;
// вот тут проблема
case radicalOperation:
x = sqrt(x);
break;
default:
break;
}
}
y = x;
enterFlag = YES;
yFlag = YES;
operation = [sender tag];
[self calcScreen];
}
- (void)calcScreen {
NSString *calculatorStr = [NSString stringWithFormat:@"%g", x];
[displayLabel setText:calculatorStr];
}
@end