2011-05-16 28 views
0

基本上,該程序有5個數字文本框。我想要一個總計所有5個文本框的數學函數,然後乘以1.39,然後再乘以1.12,但我無法正確添加文本框。如果你只在一個文本域中添加一個數字,它的工作原理到目前爲止,但當添加多個文本域時,它會有點困惑。這裏是我的代碼:我在Xcode中遇到了一些相當基本的數學函數問題

- (IBAction)calculate { 
    float b = ([BCB.text floatValue]); 
    float d = b+([MCD.text floatValue]); 
    float f = b+d+([SF.text floatValue]); 
    float w = b+d+f+([SW.text floatValue]); 
    float a = b+d+f+w+([AP.text floatValue]); 
    float p = 1.39f; 
    float h = 1.12f; 
    float t = a*p*h;  

    Total.text = [ [NSString alloc] initWithFormat:@"%.2f", t]; 
} 

請記住我是100%的初學者,當談到Xcode中,我已經種來自各種教程Frankensteined這個代碼放在一起,這可能是完全錯誤的。

+1

定義「混淆」。你有什麼Total.text? – Andrew 2011-05-16 21:55:17

+0

*嘆*現在我感到非常愚蠢,立即發佈後,我去了解我做錯了什麼。當我使用浮動'a'變量時,它使用「b + d + f + w +([AP.text floatValue]);」其中每個變量都添加了前一個變量,因此它是堆棧變量。 – 2011-05-16 21:57:30

+0

如何以單一方式執行此操作還是與Xcode相關?每一個單一的方式在 – 2011-05-16 21:57:59

回答

0

在行:

 
float f = b+d+([SF.text floatValue]); 

d已經等於b+([MCD.text floatValue]),所以f被分配的2*b + ([MCD.text floatValue])的值,並且更多的錯誤在接下來的兩行積聚。只需將每個floatValue分配給一個變量(即,float f = [SF.text floatValue];等),然後將它們一起添加到最後。

+0

謝謝,這是我最終做的。 – 2011-05-16 22:03:04

0

你應該添加的每個文本字段的值只有一次,例如:

- (IBAction)calculate { 
    float b = [BCB.text floatValue]; 
    float d = [MCD.text floatValue]; 
    float f = [SF.text floatValue]; 
    float w = [SW.text floatValue]; 
    float a = [AP.text floatValue]; 
    float p = 1.39f; 
    float h = 1.12f; 
    float t = (b+d+f+w+a)*p*h;  

    Total.text = [ [NSString alloc] initWithFormat:@"%.2f", t]; 
}