VBの問題です
VBの条件判断の応用問題
大学の情報の問題でヒントをもらいやってみたのですがうまくできません。自分でやったものをのせたのでどこがどのように間違えているか指摘してもらえるとありがたいです。
東京都水道局では23区内の水道料金(月額)を水道管の口径(以下で呼び径と記述)と月の水道使用料により、次の表に基づいて計算する。水道管の呼び径の番号と水道使用量を性数値で入力すると、次表と計算式に従い、次のページの仕様を満たす水道料金計算のプログラムを作れ。
申し訳ないのですが
表をのせられなかったのでこちらから参照してください
http://www.waterworks.metro.tokyo.jp/life/r_keisan.htm
水道料金一か月の表の一般用の部分です
計算式 (基本料金+従量料金)*1.05(1円未満の端数は切り捨て)
【プログラムの仕様】
1.呼び径は(1)13mm、(2)20mm、・・・(12)300mm以上の中から該当する番号を、水道使用量は㎥単位で整数値を、どちらもInputbox関数で取得する。呼び径番号取得ではInputboxに番号と呼び径の対応関係を表示せよ。この際、表示文字列を複数部分に分割して、行末を文字列連結演算子と継続指定「 & _ 」することにより複数行で記述する。
2.入力された水道管の呼び径を番号をもちいてSelectCase構文で基本料金を決定する。
3.従量料金のけいさんでは、まずどの呼び径の料金区分で計算するかをSelectCase構文またはIf文で決定して、各区分の料金表の単価を使用量の各増分に適用して、増分毎の料金を求めて積算する。例にも示した(2)の呼び径の場合は、使用量を複数の増分に分けて、1~5;、6~10、11~20、21~30、・・・、1001以上の各増分に異なる単価を適用する。
4.基本料金と従量料金の合計金額に消費税を加えたものが水道料金となる。この計算を行うと小数点以下の金額を切り捨てるため、Int関数の引数に計算式を書き入れ、その関数値を整数型変数に代入すればよい。
数字に単位が付いてませんがm^3です
Sub ex51() '問題5
Dim x As Integer, y As Integer, z As Integer
x = InputBox("呼び径を丸番号の数字で選択してください。 " & _
"(1) 13mm (2) 20mm (3) 25mm " & _
"(4) 30mm (5) 40mm (6) 50mm " & _
"(7) 75mm (8) 100mm (9) 150mm " & _
"(10) 200mm (11) 250mm (12) 300mm以上 ")
y = InputBox("今月の水道使用量を立法メートル単位で入力してください。")
Select Case x
Case ((1)) '13mm
基本料金 = 860
Case ((2)) '20mm
基本料金 = 1170
Case ((3)) '25mm
基本料金 = 1460
Case ((4)) '30mm
基本料金 = 3435
Case ((5)) '40mm
基本料金 = 6865
Case ((6)) '50mm
基本料金 = 20720
Case ((7)) '75mm
基本料金 = 45623
Case ((8)) '100mm
基本料金 = 94568
Case ((9)) '150mm
基本料金 = 159094
Case ((10)) '200mm
基本料金 = 349434
Case ((11)) '250mm
基本料金 = 480135
Case ((12)) '300mm以上
基本料金 = 816145
End Select
Select Case ((1)、(2)、(3))
If y = 1 < 5 Then
z = 0 * y
If y = 6 < 10 Then
z = 22 * y
If y = 11 < 20 Then
z = 128 * y
If y = 21 < 30 Then
z = 163 * y
If y = 31 < 50 Then
z = 202 * y
If y = 51 < 100 Then
z = 213 * y
If y = 101 < 200 Then
z = 298 * y
If y = 201 < 1000 Then
z = 372 * y
Else
z = 404 * 1000
End If
Select Case ((4)、(5))
If y = 1 < 100 Then
z = 213 * y
If y = 101 < 200 Then
z = 298 * y
If y = 201 < 1000 Then
z = 372 * y
Else
z = 404 * y
Select Case ((6)、(7))
If y = 1 < 1000 Then
z = 372 * y
Else
z = 404 * y
Select Case ((8)、(9)、(10)、(11)、(12))
z = 404 * y
MsgBox ”水道料金=”int((x+z)*1.05)
End Sub