前問の CoinCase クラスに、次の内容を追加しなさい。
- 総ての硬貨の枚数を取得する、引数なしの GetCount メソッド。
- 指定した種類の硬貨の総額を取得する、引数のある GetAmount メソッド。
修正した CoinCase クラスを使用して次のプログラムを作成しなさい。
- CoinCase クラスのインスタンスを作成する。
- 種類と枚数を入力し、AddCoins メソッドで硬貨を追加することを 10 回繰り返す。
- 各硬貨の枚数と金額を表示する。
- 硬貨の総枚数を表示する。
- 総額を表示する。
Class CoinCase
Private Yen500 As Integer = 0
Private Yen100 As Integer = 0
Private Yen50 As Integer = 0
Private Yen10 As Integer = 0
Private Yen5 As Integer = 0
Private Yen1 As Integer = 0
Public Sub AddCoins(kind As Integer, count As Integer)
Select Case kind
Case 500
Yen500 += count
Exit Select
Case 100
Yen100 += count
Exit Select
Case 50
Yen50 += count
Exit Select
Case 10
Yen10 += count
Exit Select
Case 5
Yen5 += count
Exit Select
Case 1
Yen1 += count
Exit Select
End Select
End Sub
Public Function GetCount(kind As Integer) As Integer
Select Case kind
Case 500
Return Yen500
Case 100
Return Yen100
Case 50
Return Yen50
Case 10
Return Yen10
Case 5
Return Yen5
Case 1
Return Yen1
End Select
Return 0
End Function
Public Function GetCount() As Integer
Return Yen500 + Yen100 + Yen50 + Yen10 + Yen5 + Yen1
End Function
Public Function GetAmount(kind As Integer) As Integer
Select Case kind
Case 500
Return Yen500 * 500
Case 100
Return Yen100 * 100
Case 50
Return Yen50 * 50
Case 10
Return Yen10 * 10
Case 5
Return Yen5 * 5
Case 1
Return Yen1 * 1
End Select
Return 0
End Function
Public Function GetAmount() As Integer
Return (Yen500 * 500) + (Yen100 * 100) + (Yen50 * 50) + (Yen10 * 10) + (Yen5 * 5) + Yen1
End Function
End Class
Sub Main()
Dim MyCase As New CoinCase()
For i As Integer = 0 To 9
Console.Write("硬貨の種類は?")
Dim kind As Integer = Integer.Parse(Console.ReadLine())
Console.Write("硬貨の枚数は?")
Dim count As Integer = Integer.Parse(Console.ReadLine())
MyCase.AddCoins(kind, count)
Next
Console.WriteLine("500円は" & MyCase.GetCount(500) & "枚、" & MyCase.GetAmount(500) & "円")
Console.WriteLine("100円は" & MyCase.GetCount(100) & "枚、" & MyCase.GetAmount(100) & "円")
Console.WriteLine("50円は" & MyCase.GetCount(50) & "枚、" & MyCase.GetAmount(50) & "円")
Console.WriteLine("10円は" & MyCase.GetCount(10) & "枚、" & MyCase.GetAmount(10) & "円")
Console.WriteLine("5円は" & MyCase.GetCount(5) & "枚、" & MyCase.GetAmount(5) & "円")
Console.WriteLine("1円は" & MyCase.GetCount(1) & "枚、" & MyCase.GetAmount(1) & "円")
Console.WriteLine("全部で" & MyCase.GetCount() & "枚")
Console.WriteLine("総額は" & MyCase.GetAmount() & "円")
End Sub