2012-07-26 73 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