2011-09-09 8 views
0

私はユーザーが入力する単純な数値を計算するプログラムを作成しています。 1,2,4,7,10,12などが挙げられる。ユーザー入力を格納し、計算して最後に表示する

何らかの形で、これらの入力を別のテキストフィールドから入力して保存するプログラムが必要です。それらを内部式で使用し、最後にユーザーに表示します。

どうすればよいですか?私はプログラミングではなく、新しいことに注意してください。

私はtextFieldsを定義する方法を知っており、IBActionを計算します。そして、私は - (void)calculateを作成しようとしました。次のコードを実行すると、3つのテキストフィールド(最初の行(resultOne)で使用されています)から6つのテキストフィールドからの入力がありますが、間違った番号が返されます。しかし、私はまだこれを行うより良い方法が必要です。

-(void) calculate{ 
weightOne = [v1Text.text floatValue]/2; 
weightTwo = [v2Text.text floatValue]/2; 
resultOne = [m1Text.text floatValue] * weightOne + [s1Text.text floatValue] * weightOne; 
resultTwo = [m2Text.text floatValue] * weightTwo + [s2Text.text floatValue] * weightTwo; 
_resultTotal = (resultOne + resultTwo)/(weightOne + weightTwo); 

NSString *resultString = [[NSString alloc] 
          initWithFormat: @"%.2f", resultOne]; 
resultLabel.text = resultString; 
[resultString release]; 
} 

私は上記のコードはresultOneを出力することを知っているが、これは、式が機能することを知って、ちょうど私自身のテストのためです。しかし、私は本当に上記のコードは私がそれが必要なものに適しているとは思わないので、すべての新鮮なを開始したいと思います。

私は初心者であり、いくつかのコードを表示するだけではなく、もう少し説明してください。

私はあなたに私が与えることができる助けを楽しみにしています。

EDIT! - 下に新しいCODE

-(IBAction) calculate:(id)sender { 
weightOne = 1; 
weightTwo = 0.75; 
weightThree = 0.50; 

mOne = [m1Text.text floatValue]; 
mTwo = [m2Text.text floatValue]; 
sOne = [s1Text.text floatValue]; 
sTwo = [s2Text.text floatValue]; 

resultOne = (mOne*weightOne) + (sOne*weightOne); 
resultTwo = (mTwo*weightTwo) + (sTwo*weightTwo); 

_resultTotal = (resultOne + resultTwo)/(weightOne*2 + weightTwo*2); 

NSString *resultString = [[NSString alloc] 
          initWithFormat: @"Gennemsnit %.2f", _resultTotal]; 
resultLabel.text = resultString; 

} 

私は簡単に入力を計算するために、私のコードを変更することを決めています。今私は別の質問があります。

何らかの方法でこの方程式を保存することができますので、コードを何度も何度も入力しなくても、何度でも再利用できます。

+0

このコードは正常に見えますが、なぜあなたはそれに満足しているのかわかりません!入力が増えたときの問題は何ですか? – jrturton

+0

問題は、後で使用するためにユーザー入力をどのように格納できるかわかりません。ユーザーは、自分の授業の種類に応じて、15x2のテキストフィールドに最大30の成績を入力する必要があります。私はその後、簡単な方法でグレードを計算し、最後にユーザーのためにそれを表示する必要があります。これまでのコードではどうやってやっているのか不明です。 –

答えて

1

まず、ボタンをタップすると呼び出されるIBActionメソッドを計算することができます。プロトタイプを-(IBAction)calculate:(id)senderに変更してください。

次の場合、テキストフィールド用のアウトレットがあれば、問題はありませんし、テキストを入力するのにも問題はありません。

正しい入力を検証することはできません。 [v1Text.text floatValue]は、テキストから数値を取得するための正しい式です。またintvalueを見ることもできます。

これで計算が完了したら、結果を表示したいlabel/textfieldへの参照を使用できます。

このラベルは、コードと同じように変更できます。

関連する問題