0

これは基本的なようですが、条件が「オン」であるかどうかにかかわらず、数値を追加する必要があります (おそらくこれをブール値に変更します)。私の質問は、可能であれば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];    

ありがとう

4

2 に答える 2

1

三項演算子を使用できます。

expr ? true value : false value

すなわち に置き換えif(arrNYStateTaxStatus[nIndex] == 1){dfNYStateTaxOwed[nIndex];}ます(arrNYStateTaxStatus[nIndex] == 1) ? dfNYStateTaxOwed[nIndex] : 0

余談ですが、状態ごとに配列を使用する代わりに、辞書を使用するようにプログラムを再設計することを検討してください。

于 2013-10-06T06:25:11.877 に答える
0

C 制御ステートメントには戻り値がないため、このアプローチは機能しません。次のような一連のifステートメントを実行したくない理由はありますか

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

?

于 2013-10-06T06:33:40.767 に答える