日曜日, 9月 06, 2020

Visual Studio Basic_16 
Select Caseによる分岐処理

Select Caseステートメントによる分岐処理で所得税の計算をしてみます。なお、ステートメントとは キーワード、演算子、変数、定数、および式を含めることができる完全な命令です。 各ステートメントは、次のいずれかのカテゴリに属す。

●宣言ステートメント。変数、定数、またはプロシージャの名前を指定。
●実行可能なステートメント。アクションを開始。 これらのステートメントでは、メソッドまたは関数を呼び出し、コードのブロックをループまたは分岐する。

条件分岐が4つ以上の場合はIFを使うよりもSelect Caseの方がソースも分かり易くて便利。

VS Basicを起動したら[新しいプロジェクトの作成]にて新規プログラム作成モードに入ります。最初にTextBox1つ、Button2つ、Label3つを配置します。

プロパティーにて文字やパーツのサイズを調整して上の様なレイアウトとしました。次にソースです。TextBox1とLabel3の文字サイズは12ポイントとしています。

で、実際のソースは・・・

「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。

-----------------
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim kazeigaku, shotokuzei As Long
      ' kazeigaku(課税所得), shotokuzei(所得税)は長整数型変数
        kazeigaku = Val(TextBox1.Text)
      ' TextBox1に入力した文字を数値変換してkazeigakuに代入
        Select Case kazeigaku
            Case 1000 To 1950000
                shotokuzei = kazeigaku * 0.1
      ' 課税所得が1000〜1950000の時の所得税額は
      ' 課税所得×10%
            Case 1950001 To 3300000
                shotokuzei = kazeigaku * 0.1 - 97500
       ' 課税所得が195001〜3300000の時の所得税額は
       ' 課税所得×10% − 97500
           Case 3300001 To 6950000
                shotokuzei = kazeigaku * 0.2 - 427500
         ' 課税所得が3300001〜695000の時の所得税額は
         ' 課税所得×20% − 427500
         Case 6950001 To 9000000
                shotokuzei = kazeigaku * 0.33 - 636000
         ' 課税所得が695001〜9000000の時の所得税額は
         ' 課税所得×10% − 636000
            Case 9000001 To 18000000
                shotokuzei = kazeigaku * 0.4 - 1536000
          ' 課税所得が9000001〜18000000の時の所得税額は
          ' 課税所得×33% − 1536000
           Case 18000001 To 40000000
                shotokuzei = kazeigaku * 0.45 - 2796000
            ' 課税所得が18000001〜40000000の時の所得税額は
            ' 課税所得×40% − 2796000
          Case Else
                shotokuzei = kazeigaku * 0.45 - 4796000
            '上のいずれにも該当しない場合は
            ' 所得税額 = 課税所得×45% − 4796000
        End Select
        If kazeigaku < 1000 Then
            Label3.Text = "¥0"
            ' 課税所得が1000以下の場合はLabel3に「¥0」 を表示
        Else
            Label3.Text = Format(shotokuzei, "\\###,###,###,###")
            ' 所得税額の表示形式を指定
        End If
    End Sub
-----------------
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            ' Button3がクリックされたら終了
        End
    End Sub
End Class
-----------------

ソース記述中にエラーがなければデバッグです。

課税対象額が1億円の場合・・・

所得税は40,204,000円となるそうです。所得税ぐらいは一度でもいいから稼ぎたいですね。

Visual Studio Basic 2019