スポンサードリンク



VBScriptで、割り勘アプリを作ってみましょう。

VBScriptで、ちょっと実用的なアプリケーションソフト(アプリ)を作ってみましょう。

今回は、飲み会で便利な「割り勘アプリ」を作ることにします。

実用的といっても、飲み会にパソコンを持っていく人はいないでしょうが(笑)、
プログラミングの学習としては、適している課題だと思いますので。

実はとても簡単に作れます。

これまでに学んだプログラミング技術だけで、作ることができます。

飲み会の最後で面倒なのが、割り勘ですよね。

「どこまで細かく割り勘するか?」という問題があります。

そこで、1円単位、10円単位、100円単位の全てに対応できるアプリを作りましょう。

1000円単位は、暗算で簡単に計算できるので、除きます。

【1】以下のようにプログラミングします。

ファイル名 sample022.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 = "1円単位:" & y1 & "円" & vbCr _
    & "10円単位:" & y10 & "円" & vbCr _
    & "100円単位:" & y100 & "円"

MsgBox ans, , "答え"



【2】vbsファイルをダブルクリックして実行します。

図のように金額は10000、
VBScript

人数は6を入力します。
VBScript

*数字は、全て半角で入力します。


【3】すると、以下のような計算結果になるはずです。

VBScript

ちゃんと1円単位、10円単位、100円単位の全てで、計算されています。

ただし、プログラムにエラー処理を書いていないので、
・数字以外の文字や記号
・全角の数字
・「キャンセル」ボタンを押す
などをすると、エラーメッセージが出るので、注意してください。


【プログラムの解説】
変数を宣言している部分です。
Dim ans, m, p
Dim y1, y10, y100

ansは答え、mは金額、pは人数、
y1は1円単位、y10は10円単位、y100は100円単位を表します。

1y、10y、100yのほうが分かりやすい気がしますが、
変数名の最初の文字には、数字が使えないためです。

InputBoxを表示し、ユーザーに入力してもらい、変数に代入している部分です。
m = InputBox("金額を入力してください。", "入力")
p = InputBox("人数を入力してください。", "入力")

Round関数を使い、四捨五入してから、変数に代入している部分です。
y1 = Round(m / p)
y10 = Round(m / p / 10) * 10
y100 = Round(m / p / 100) * 100

ここで重要なポイントですが、
Round関数は、小数点以下しか四捨五入ができません。

そこで、ちょっと工夫が必要になるわけです。

1円単位の場合は、小数点以下を四捨五入すればよいので、そのまま使えます。
y1 = Round(m / p)

10円単位の場合は、あえて10で割ることで、
1円の単位を小数点にしてから、四捨五入し、10を掛けて、元の桁に戻しています。
y10 = Round(m / p / 10) * 10

100円単位の場合も、同じような考え方です。割る桁が違うだけです。
y100 = Round(m / p / 100) * 100

このような方法は、プログラミングでは、よく使われています。
覚えておくと便利です。

変数ansに、あらかじめメッセージボックスに表示する文字列を、代入している部分です。
ans = "1円単位:" & y1 & "円" & vbCr _
    & "10円単位:" & y10 & "円" & vbCr _
    & "100円単位:" & y100 & "円"

これは復習になりますが、
「vbCr」は、MsgBox内での改行です。
「 _」(半角スペースとアンダーバー)は、プログラム内での改行です。

あとは答えを表示しているだけです。
MsgBox ans, , "答え"


どうでしたか?
技術的には、これまでのプログラミングで学んだことだけで、実用的なアプリが作れましたね。

少しだけ、計算に工夫が必要でしたが。



スポンサードリンク






VBScript 初心者入門講座 TOPへ