• ベストアンサー

HSPで、listboxによって代入されたインデックス番号を演算子に直

HSPで、listboxによって代入されたインデックス番号を演算子に直す方法がわかりません…。 例) ランダムに4つの数字を発生させて… 9 [+,-,*,/] 1 [+,-,*,/] 3 [+,-,*,/] 5 = 18 このとき選択された演算子が正しいかどうかを判断するプログラムを作りたいのですが 選択された演算子のインデックス番号を変数で受け取ったのはいいのですが、そのあとにどうすればいいのかわかりません…。 関数を使うのでしょうか?詳しくご説明お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

 きっちり考えた訳ではないですが、参考になれば。  まず、演算子のリスト内容を保持する変数を左から「list.0、list.1、list.2」とすることにしましょう。  その保持変数には[+,-,*,/]=[0,1,2,3]となっていると思います。なので、ifでlist.n(nは変数)の種類によって計算方法を変えてあげればいいと思います。  更に言うなら、数字部分も変数(number.nなど)にしてしまえば、list.nを計算する時、number.nとnumber.n-1 を計算すればよいことになります。これでrepeat~loopを使えば楽になります。  後は、計算し終わった事を保持する変数を用意したり(list.nが-1の時、その間の数値は計算したとしてもいいかもしれません)、list.nの計算する順番を×、÷を優先するなどですかね。  ソースは面倒なので書きませんが、プログラムをつくる参考にでもなってくれれば幸いです。