У меня простой вопрос iOS / target C. Я искал на форуме и попробовал несколько разных подходов, но я не могу понять это, я очень плохо знаком с кодированием, поэтому я прошу прощения за это может показаться глупым. Я пытаюсь построить простой калькулятор с кнопками, сделанными с нуля, но я застрял в десятичной части. Я использую оператор switch для ввода своих номеров через кнопку (id) отправителя. Вы можете увидеть часть, которую я закомментировал, именно здесь я собирался взять идентификатор, помеченный 10, и написать какое-то утверждение для внедрения десятичного числа в значение с плавающей точкой.
Я также посмотрел предыдущий пост, в котором добавляется десятичное место. Я пытался изменить код, но мне кажется, что мне здесь не хватает нескольких вещей.
-(IBAction)decimalButton:(id)sender{
calculatorScreen.text = [calculatorScreen.text stringByAppendingFormat:@"."];
}
Любая помощь / предложения / пример кода были бы очень полезны, опять же, я извиняюсь за вопрос новичка, я стараюсь изо всех сил, чтобы изучить основы.
#import "calcViewController.h"
@implementation calcViewController
-(IBAction)buttonDigitPressed:(id)sender { //ditits presed with sender tag
// switch ([sender tag]) {
// case 1:
// currentNumber = 1;
// break;
// case 2:
// currentNumber = 2;
// break;
// case 3:
// currentNumber = 3;
// break;
// case 4:
// currentNumber = 4;
// break;
// case 5:
// currentNumber = 5;
// break;
// case 6:
// currentNumber = 6;
// break;
// case 7:
// currentNumber = 7;
// break;
// case 8:
// currentNumber = 8;
// break;
// case 9:
// currentNumber = 9;
// break;
// case 10:
// //possibly implement decimal here
// break;
// }
currentNumber = (float)[sender tag]; //sets currentNumber to buttonPressed
calculatorScreen.text = [NSString stringWithFormat:@"%g",currentNumber];//displays button
}
-(IBAction)buttonOperationPressed:(id)sender {
//currentOperation is 0 by system default?
if (currentOperation == 0)
result = currentNumber;
else {
switch (currentOperation) {
case 1:
result = result + currentNumber;
break;
case 2:
result = result - currentNumber;
break;
case 3:
result = result * currentNumber;
break;
case 4:
result = result / currentNumber;
break;
case 5:
currentOperation = 0;
break;
}
}
//currentNumber = 0;
currentNumber = result; //current number equals last resulting equation
calculatorScreen.text = [NSString stringWithFormat:@"%g",result]; //screen prints result
if ([sender tag] == 0) result = 0;
currentOperation = [sender tag];
}