2012-09-09 57 views
0

我想提出一個計算器爲什麼不流通,如果這個if語句

,我定義的所有功能SUM SUB DIV MUL

然後當我輸入這個if語句是通過只對第一個 雖然條件是錯誤的

所以我已經是2個文本字段 4行動爲每個按鈕 2動作:結果和明確 和操作至極標籤將採取+或 - 或*或÷什麼... 這個標籤calle運行d

所以我輸入的計算動作 這個if語句,但我不知道什麼是錯誤的 當我點擊計算操作將是第一個,如果操作至極爲+ ,當我按1-4 它示出了1 + 4 = 5

//in -(IBAction)calculate : 

-(IBAction)Calculate:(id)sender{ 
if ([email protected]"+"){ 
//sum 
a =num1.text.integerValue; 
b= num2.text.integerValue; 
c=num1.text.integerValue+num2.text.integerValue; 
printf("%i >> %i",b,num2.text.integerValue); 
[num1 resignFirstResponder]; 
[num2 resignFirstResponder]; 
result.text =[NSString stringWithFormat:@"%i + %i = %i",a,b,c];} 

else if ([email protected]"-"){ 
//sub 
a =num1.text.integerValue; 
b= num2.text.integerValue; 
c=num1.text.integerValue-num2.text.integerValue; 
printf("%i >> %i",b,num2.text.integerValue); 
[num1 resignFirstResponder]; 
[num2 resignFirstResponder]; 
    result.text =[NSString stringWithFormat:@"%i - %i = %i",a,b,c];} 

else if ([email protected]"*"){ 
//mul 
a =num1.text.integerValue; 
b= num2.text.integerValue; 
c=num1.text.integerValue*num2.text.integerValue; 
printf("%i >> %i",b,num2.text.integerValue); 
[num1 resignFirstResponder]; 
[num2 resignFirstResponder]; 
result.text =[NSString stringWithFormat:@"%i * %i = %i",a,b,c]; 
} 

//div 
else if ([email protected]"÷"){ 
a =num1.text.integerValue; 
b= num2.text.integerValue; 
c=num1.text.integerValue/num2.text.integerValue; 
printf("%i >> %i",b,num2.text.integerValue); 
[num1 resignFirstResponder]; 
[num2 resignFirstResponder]; 
result.text =[NSString stringWithFormat:@"%i ÷ %i = %i",a,b,c]; 
} 

} 

HELP

回答

1

=進行分配,所以實際上if ([email protected]"+")分配@"+"operation.text,它不用於比較equali TY。然後通過if語句將分配的值視爲true。

+0

那麼,我該怎麼辦?@MRAB – omsi

+1

首先閱讀一本關於Objective C的好書?猜測你無法學習編程語言。 –

+0

嘗試'[operation.text isEqualToString:@「+」]'。 – MRAB