2012-07-26 74 views
0
#import <Foundation/Foundation.h> 
#import "Calculator.h" 
#import "ctype.h" 
int main(int argc, const char * argv[]) 
{ 
    double value1,value2; 
    char operator; 
    Calculator *myCal =[[Calculator alloc]init ]; 

    NSLog(@"Type in your expression"); 
    scanf("%1f %c %1f",&value1,&operator,&value2); 

    [myCal setAccumulator:value1]; 
    if (operator =='+') 
     [myCal add:value2]; 

    else if (operator == '-') 
     [myCal subtract:value2]; 

    else if (operator == '*') 
     [myCal multiply:value2]; 

    else if (operator == '/') 
      [myCal divide:value2]; 

    NSLog(@"%.2f",[myCal accumulator]); 

    } 
    return 0; 
} 

我無法找到關於此代碼的任何錯誤,我從書中鍵入代碼,代碼與書上相同。但Xcode的告訴我,他們有兩個錯誤,第一個是「應爲標識符或‘(’ 第二個是‘預期的外部聲明’objective-c代碼錯誤

+0

是一個控制檯應用程序 – 2012-07-26 09:52:55

回答

1

你有return語句之前虛假支柱:

} <--- remove this 
return 0; 

編輯:使用此sscanf()語句來代替,因此您可以輸入正確的浮點數:

scanf("%f %c %f", &value1, &operator, &value2); 
+0

感謝我的錯誤?。 – Ben 2012-07-26 10:01:01