1

三角形の辺の長さと角度を見つけるobj-cを使用してiPhone用のアプリを作成しています。アプリの一部はピタゴラス定理を使用しています。

NSNumber *pySidea = [NSNumber numberWithInteger:[[sideA text] integerValue]];
NSNumber *pySideb = [NSNumber numberWithInteger:[[sideB text] integerValue]];
NSNumber *pySidec = [NSNumber numberWithInteger:[[sideC text] integerValue]];

int pyAside = [pySidea intValue];
int pyBside = [pySideb intValue];
int pyCside = [pySidec intValue];

if ([aSide length] = 0) {
    NSString *finalAnserc = [sqrtf(powf(pyAside, 2) + powf(pyBside, 2))];
    sideCstring = @"_anserSidec";
}

sideA、sideB、sideCは、テキストフィールドを使用した三角形の辺です。以外の部分でエラーは発生しません

if ([aSide length] = 0) {
    NSString *finalAnserc = [sqrtf(powf(pyAside, 2) + powf(pyBside, 2))];
    sideCstring = @"_anserSidec";
}

ここで「期待される識別子」を取得します。助けてくれてありがとう。

4

2 に答える 2

3

この行:

NSString *finalAnserc = [sqrtf(powf(pyAside, 2) + powf(pyBside, 2))];

文字列を作成したいようですが、有効な構文ではない角かっこ内の算術演算以外は何もしません。私はあなたが次のようなものが欲しいと思います:

float answer = sqrtf(powf(pyAside, 2) + powf(pyBside, 2));
NSString *finalAnswer = [[NSNumber numberWithFloat:answer] stringValue];

数を二乗するために呼び出すpowf()ことも少し手間がかかります。あなたはただ書くことができます:

float answer = sqrtf(pyAside*pyAside + pyBside*pyBside);

Nithinが彼の答えで述べているように、あなたはあなたのifステートメントにも論理的な誤りがあります-あなたはおそらく使用したいと思う==でしょう。

于 2012-09-17T04:23:25.933 に答える
0

'if'条件を確認してください。if([aSide length] == 0)

2つの等号(=)を覚えておいてください。

于 2012-09-17T04:10:22.007 に答える