2012-04-10 17 views
0

UItextfield(s1、s2)に入力された整数(+ 1または+1)の+/- 記号を認識するための数式を取得しようとしています。したがって、ユーザが異なる符号を入力すると、方程式は互いに減算される。 何らかの理由で標識が認識されていないようで、プログラムはd1とd2を追加するだけです。UITextField intデータ型xcode

-(IBAction)calculateD:(id)sender{ 
float n1, r1, n2, r1, d, d1, d2; 
int s1, s2; 

s1= [textfieldS1.text intvalue]; //etc for all variables 

d1 = s1 * ((n1-1)/r1); 
d2 = s2 * ((n2-1)/r2); 

if (s1 != s2) { d = d1 - d2;} 
else { d = d1 + d2; 
}} 

このコードで明らかな問題がありますか?

+0

このコードでは、s1とs2は常に0になります。テキストフィールドの値を方程式に転送していません。 – drekka

+0

ありがとうdrekka変数が初期化されていることを明確にするために、値がテキストフィールドから引き出されました。これを示すコードを編集しました – MacUser

答えて

2

私はここで何をしようとしているのか分かりません。変数は初期化されておらず、-calculateD:メソッド内の実際のUITextFieldへの特定の参照はありません。これは、ここにいくつかのヒントがあり、それが手に入ることを願っています。

記号s1、s2は実際には2回考慮して考慮されます。 d1、d2、およびそれ以降を生成して(s1!= s2)を決定する。このため、後者は同じ記号の2つの数字を追加し、実際にここで取得したいものを無効にする可能性があります。例:

  • s1 = + 1、s1 = + 1とすると、d =((n1-1)/ r1)+((n2-1)/ r2)となります。
  • s1 = + 1、s1 = -1とすると、d =((n1-1)/ r1)+((n2-1)/ r2)となります。これまでと同じ。

ifを削除し、1つのままにします。d = d1 + d2。

+0

ありがとうございましたLukasz私は2つの方程式を加算または減算するプログラムを入力します。初期化されたテキストフィールドから得られた変数の値 – MacUser

+0

私は簡単な例で私の答えを更新しました。見て、私たちに教えてください、もしあなたがその方法を働かせたいのであれば。 – lukasz

+0

ヘルプに感謝しました – MacUser

関連する問題