- ベストアンサー
多数のチェックボックスをつかった分岐について
現在、チェックボックスとリストボックスで条件を選択して条件に合う検索結果を出力するプログラムを作っています。 やりたいことは、チェックボックスは複数選択可能で、リストボックスとチェックボックスの組み合わせによってそれぞれ出力結果を変えたいです。リストボックスには項目が3つ、チェックボックスには項目が6つあります。 ここでそれぞれif文で分岐しようと考えたんですが、あまりにもパターンが多すぎて どうしようという状況です。なにかいい方法がありますでしょうか。 よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
組合せによって、後の処理がそれぞれユニークなのかまとめられるのかなどによって考え方が変わると思います。 基本的に、2^6(チェックボックス)×3(リストボックス)=192通りの結果が得られます。 >組み合わせによってそれぞれ出力結果を変えたいです。 処理が単純に出力するだけで、出力の内容が違うだけというのなら、その内容を配列に用意しておいて入力結果を0~191の数値化し、これをインデックスに出力するようにすれば、処理は一通りで済みます。 入力の組合せを調べるために、if文で分岐するようなことはしなくてもすむことでしょう。(192通りの出力内容は用意する必要があります。) 出力の内容が多くて(長くて)似たような内容の組合せから構成されているような場合で、192通りの出力内容を全部用意するのは必ずしも効率的ではないので、入力の組合せの内容によって結果も処理内で組合せて作成するようにしようという場合は、どのような整理の仕方でどのように組み合わせるのかによって具体的な処理方法は変わってくることでしょう。 あるいは、処理内容がそれぞれにまったく異なるのであれば、0~191をインデックスにswitchなどで分岐しても良いですが… または、192個の処理関数を配列にいれておいて、(↑)と同様の方法で処理を分けるとか。
お礼
出力内容は結構多いですね・・・。 いずれにしても192通りの出力内容を用意する必要があるんですね。 ご回答ありがとうございました。