Квадратный корень на калькуляторе.
Возникла проблема в том, что я не могу сделать «квадратный корень», потому что нужно сначала ввести x, a потом y. И если я описываю это просто как x = sqrt(x), то все равно нужно вводить и x и y. Не могу разобраться, в чем дело.
- (IBAction)operation:(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];
}
Мне посоветовали сделать парсер строки, но я не знаю, как это сделать, так как только учусь. Помогите реализовать, пожалуйста. Хочу, чтобы при вводе какого-то числа, затем при нажатии на "квадратный корень" выводился сразу же результат, а не требовал вводить и x и y.
Спасибо большое за помощь! Буду признателен за то, если кто-то поможет.