質問

だけの練習として、私は有名中学校ピタゴラスの定理、乗= C乗のB乗+を解きアプリに取り組んでいます。残念ながら、アウトてくる答えは、私の目には、実際の答えとは何の関係もありません。ここでアクションを「解決」の際に使用されるコードです。

- (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を使用して定義されています。あなたは数学を行う、その後、テキストフィールドから取られたVARの値を設定する必要があります。 Cはシーケンシャル言語、すべてが上から下に実行され、あなたが「のC = b」を言うことができないaとbになります。のプログラムの任意の場所でのCます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top