2013-07-02 189 views
0

我有一段時間讓這段代碼正確擺脫。我目前被困在文本的最後一行。我是新來的編寫代碼。我學到的所有東西都可以在網上找到並通過這個網站找到。請參閱下面帶下劃線的註釋。請幫幫忙,所以我可以看到,如果我的計算,即使作品...複雜計算

//.h 


@interface ViewController : UIViewController 

@property (weak, nonatomic) IBOutlet UITextField *Price87; 
@property (weak, nonatomic) IBOutlet UITextField *MPG87; 
@property (weak, nonatomic) IBOutlet UITextField *PriceE85; 
@property (weak, nonatomic) IBOutlet UITextField *MPGE85; 
@property (weak, nonatomic) IBOutlet UITextField *GasTankSize; 

- (IBAction)Settings:(id)sender; 
- (IBAction)pergallon:(id)sender; 
- (IBAction)pertank:(id)sender; 

@end 


//.m 

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController <----------- Getting a Incomplete Implementation here... 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

- (IBAction)Settings:(id)sender { 
    Settings *settings = [[Settings alloc] initWithNibName:nil bundle:nil]; 
    [self presentViewController:settings animated:YES completion:NULL]; 
} 

- (IBAction)addNums:(id)sender { 
    int a = ([_Price87.text floatValue]); 
    int b = ([_MPG87.text floatValue]); 
    int c = ([_PriceE85.text floatValue]); 
    int d = ([_MPGE85.text floatValue]); 
    int e = ([_GasTankSize.text floatValue]); 
    int ans = ((a*e)-((e+(a*e)-(c*e)/b)*d)/e); 

    [ans setText:[NSString stringWithFormat:@"%i", pergallon]]; <--------- This is the line giving me trouble. I'm getting a "use of undeclaired identifier 'pergallon' 

} 

@end 
+0

'pergallon'是一種方法,不是addNums方法範圍內的變量。 – CodaFi

回答

0

聲明它,那麼您已經一些錯誤,請考慮:

int a = ([_Price87.text floatValue]); 

在右手邊的大小,你作爲floatValue - 浮點與小數部分,但在左側的大小你聲明aint - 整數沒有任何小數部分。該分配將截斷捨棄小數部分的數字,例如, 1.82會變成1.這可能不是你想要的。您的意思是宣佈afloat

但讓我們看看你的數學和單位 - 根據你給你的領域的名稱。

a大概是$/gal,e是加侖,所以a*e是在$(填滿坦克的價格)。讓我們把單位到您的公式的一部分:

e+(a*e) => gal + $ 

現在加入加侖,美元是沒有意義的 - 你會得到一個號碼,但它是一個廢話號。表達式的其餘部分也沒什麼意義。

編譯器不會發現上述任何內容,計算機是快速白癡 - 要求他們計算廢話,他們會這樣做。

計算機會發現什麼是簡單的錯誤。它所投訴的行是指pergallon,它不存在。您可能打算使用ans。雖然解決這個問題可能會讓編譯器很高興,但它不會解決你的單元問題,你需要弄清楚你的數學問題。

HTH。

0

你需要一個float或double數據類型聲明變量,然後才能使用它。

嘗試用

@property (nonatomic) float pergallon; 
+0

在該方法的範圍內,這沒有任何意義。他可能只是混淆了'ans'和一些名爲'pergallon'的字段 – CodaFi