例えば、構造体の配列にしてチェックに対応するメンバーを持たせて、
それぞれのパターン毎に設定しておく。
さらにそれぞれ毎に実行させる処理の番号か関数ポインタを持たせる。