2013-10-06 52 views
0

這似乎是基本的,但我需要添加數字,不管它們是否爲「on」(我可能會將此更改爲布爾值)。所以我的問題是如何在C代碼中做到這一點,如果可能的話。我想這種和各種引渡的東西:添加數字有條件

dfTotalTaxOwed[nIndex] = dfFedTaxOwed[nIndex] + if(arrNYStateTaxStatus[nIndex] == 1){dfNYStateTaxOwed[nIndex];} 
               + if(arrNDStateTaxStatus[nIndex] == 1){dfNDStateTaxOwed[nIndex];} 
               + if(arrNHStateTaxStatus[nIndex] == 1){dfNHStateTaxOwed[nIndex];} 
               + if(arrOHStateTaxStatus[nIndex] == 1){dfOHStateTaxOwed[nIndex];} 
               + if(arrPAStateTaxStatus[nIndex] == 1){dfPAStateTaxOwed[nIndex];} 
               + if(arrNJStateTaxStatus[nIndex] == 1){dfNJStateTaxOwed[nIndex];} 
               + dfFicaTaxOwed[nIndex];  

感謝

回答

0

C控制語句沒有返回值,所以這種方法不起作用。是否有一個原因,你不想做一系列如果像

if(arrNYStateTaxStatus[nIndex] == 1) { 
    dfTotalTaxOwed[nIndex] += dfNYStateTaxOwed[nIndex]; 
} 

+0

好吧,我設置代碼的方式就是計算所有州的所得稅,然後計算出州是否「開」或是否會增加所需稅。所以我想現在你在那裏有什麼工作,現在我想到了。 – user1093111

1

可以使用ternary operator

expr ? true value : false value

即用(arrNYStateTaxStatus[nIndex] == 1) ? dfNYStateTaxOwed[nIndex] : 0代替if(arrNYStateTaxStatus[nIndex] == 1){dfNYStateTaxOwed[nIndex];}

在附註上,您可能需要考慮重新設計程序以使用字典,而不是每個狀態都有一個數組。