定数で分岐処理するなら、関数テーブルを作って
関数へのポインタで処理すればすっきりするのでは?