2012-04-14 191 views
0

正在運行這段代碼,但輸出錯誤。應該得到:控制檯輸出錯誤

Converting 100.00 US dollars into foreign currency leaves $900.00 
Charging 100.00 in foreign currency leaves $775.00 Converting 100.00 US dollars into foreign currency leaves 
$1900.00 
Charging 100.00 in foreign currency leaves $1750.00 

,但我只得到:

Converting 100.00 US dollars into foreign currency leaves $900.00 

下面是代碼:

#import <Foundation/Foundation.h> 

@interface Budget:NSObject { 
    float exchangeRate; 
    double budget; 
    double exchangeTransaction; 
} 

- (void) createBudget:(double)aBudget withExchangeRate:(float) anExchangeRate; 

- (void) spendDollars:(double)dollars; 

- (void) chargeForeignCurrency:(double)foreignCurrency; 

@end 

@implementation Budget 

- (void) createBudget:(double)aBudget withExchangeRate:(float) anExchangeRate { 
    exchangeRate = anExchangeRate; 
    budget = aBudget; 
} 

- (void) spendDollars:(double)dollars { 
    budget -= dollars; 
    NSLog(@"Converting %.2f US dollars into foreign currency leaves $%.2f", dollars, budget); 
} 

-(void)chargeForeignCurrency:(double)foreignCurrency { 
    exchangeTransaction = foreignCurrency * exchangeRate; 
    budget -= exchangeTransaction; 
    NSLog(@"Charging %.2f in foreign currency leaves $%.2f", foreignCurrency, budget); 
} 



@end 

int main(int argc, const char * argv[]) 
{ 
    double numberDollarsInEuroland = 100; 
    double numberEuros = 100; 
    double numberDollarsInPoundland = 100; 
    double numberPounds = 100; 

    Budget *europeBudget = [Budget new]; 
    [europeBudget createBudget:1000.00 withExchangeRate:1.2500]; 
    [europeBudget spendDollars:numberDollarsInEuroland]; 
    [europeBudget chargeForeignCurrency:numberEuros]; 

    Budget *englandBudget = [Budget new]; 
    [englandBudget createBudget:2000.00 withExchangeRate:1.5000]; 
    [englandBudget spendDollars:numberDollarsInPoundland]; 
    [englandBudget chargeForeignCurrency:numberPounds]; 



    return 0; 
} 

有什麼不對?提前致謝。

+0

我沒有看到任何錯誤。我編譯並運行它,得到了你期望的結果。 – 2012-04-14 17:50:39

+0

這是我的輸出:將100.00美元轉換成外幣葉子900.00美元 收取外幣葉子100.00美元775.00 將100.00美元轉換成外幣葉子1900.00美元 收取100.00美元的外幣葉子$ 1750.00 – 2012-04-14 17:52:02

+0

很奇怪。我試過你的代碼,並且一切正常。輸出我有你想要的。 – RomanHouse 2012-04-14 18:37:24

回答

0

只是一個猜測,但是這是在命令行工具中的代碼?如果是這樣,請檢查this is your problem