iPhone SDKの数学 - ピタゴラスの定理の問題!
-
26-09-2019 - |
質問
だけの練習として、私は有名中学校ピタゴラスの定理、乗= 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ます。
所属していません StackOverflow