Вопрос

Так же, как практика, я работаю над приложением, который решает знаменитую теорему Пифагорейской средней школы, в квадрате квадрата + B = C в квадрате. К сожалению, находящийся наступающий ответ, в моих глазах, ничего общего с фактическим ответом. Вот код, используемый во время «решающего» действия.

- (IBAction)solve {
 int legoneint;
 int legtwoint;
 int hypotenuseint;

 int lonesq = legoneint * legoneint;
 int ltwosq = legtwoint * legtwoint;
 int hyposq = hypotenuseint * hypotenuseint;

 hyposq = lonesq + ltwosq;

 if ([legone.text isEqual:@""]) {
  legtwoint = [legtwo.text intValue];
  hypotenuseint = [hypotenuse.text intValue];

  answer.text = [NSString stringWithFormat:@"%d", legoneint];
  self.view.backgroundColor = [UIColor blackColor];
 }
 if ([legtwo.text isEqual:@""]) {
  legoneint = [legone.text intValue];
  hypotenuseint = [hypotenuse.text intValue];

  answer.text = [NSString stringWithFormat:@"%d", legtwoint];
  self.view.backgroundColor = [UIColor blackColor];
 }
 if ([hypotenuse.text isEqual:@""]) {
  legoneint = [legone.text intValue];
  legtwoint = [legtwo.text intValue];

  answer.text = [NSString stringWithFormat:@"%d", hypotenuseint];
  self.view.backgroundColor = [UIColor blackColor];
 }
}

Кстати, legone, legtwo, and hypotenuse все представляют UITextField Это соответствует каждой математической части правого треугольника. Answer это UILabel Что говорит, вы угадали это, ответ. Кто-нибудь видят какие-либо недостатки в программе? Заранее спасибо!

Это было полезно?

Решение

Не проверял программу тщательно, но в первых строчках уже есть большая проблема:

int lonesq = legoneint * legoneint;
int ltwosq = legtwoint * legtwoint;
int hyposq = hypotenuseint * hypotenuseint;

Эта варис определяется с использованием VARS, которые все еще не назначены. Вам необходимо установить значение vars, взятых из текстовых полей, то сделайте математику. C является последовательным языком, все выполнено сверху вниз, вы не можете сказать «A = BC "и A будет BC в любом месте программы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top