そこで前回に作った、割り勘アプリを改良してみましょう。
改良点
・会計時の金額と、人数も表示する。
・幹事が人数分集めた合計金額がわかるようにする。
このような場合も、簡単にできます。
【1】以下のようにプログラミングします。
ファイル名 sample023.vbs
Option Explicit
Dim ans, m, p
Dim y1, y10, y100
m = InputBox("金額を入力してください。", "入力")
p = InputBox("人数を入力してください。", "入力")
y1 = Round(m / p)
y10 = Round(m / p / 10) * 10
y100 = Round(m / p / 100) * 100
ans = "金額:" & m & "円" & " 人数:" & p & "人" & vbCr _
& "1円単位:" & y1 & "円 → " & (y1 * p) & "円" & vbCr _
& "10円単位:" & y10 & "円 → " & (y10 * p) & "円" & vbCr _
& "100円単位:" & y100 & "円 → " & (y100 * p) & "円"
MsgBox ans, , "答え"
【2】vbsファイルをダブルクリックして実行します。
図のように金額は10000、
人数は6を入力します。
*数字は、全て半角で入力します。
【3】すると、以下のような計算結果になるはずです。
ちゃんと金額、人数が表示されています。
幹事が人数分集めた合計金額がわかるようになったので、便利ですね。
あと課題があるとすれば、金額が少ないと、精度がいまいちです。
例えば、金額は1000、人数は6を入力してみてください。
100円単位が雑で、多く集めてしまうことになります。
幹事さんは儲かりますが(笑)
まぁ、飲み会でお会計が1000円ということはないでしょうし、
金額が上がるほど、精度はよくなりますから、とりあえずOKとしましょう。
【プログラムの解説】
今回新たに加えた部分だけ説明します。
金額と人数を表示している部分です。
ans = "金額:" & m & "円" & " 人数:" & p & "人" & vbCr _
わざと全角のスペースで、文字の間を空けています。
人数分の合計金額を表示している部分です。
→ " & (y1 * p) & "円"
→ " & (y10 * p) & "円"
→ " & (y100 * p) & "円"
変数pには、人数が入っているので、掛け算をしているだけです。
どうですか?
このように、プログラミングが出来ると、オリジナルのアプリケーションソフトの改良やカスタマイズが、自由自在に出来るのが、プログラミングの楽しさです。