関数 Function サンプル [VB]

Visual Basic 文法[2015 2013 2012]

Functionプロシージャ

Function ステートメント(関数)を使えば、効率的なプログラムを作成することができます。

キーボードから入力した値と Function を使ったプログラムを作成します。

税込み価格を計算する関数

キーボードから複数の商品の本体価格を入力すると、商品ごとの税込価格を計算するプログラムを、Public Function プロシージャ(関数)を使って作成します。

税込価格を計算して、その結果を表示する部分を Public Function プロシージャ関数にします。

CalucZeikomi(nedan)が Public Function プロシージャです。

今回の場合、商品の本体価格nedanが引数です。この引数にさまざまな商品の本体価格を指定すれば、CalucZeikomiが、税込価格を計算してくれので、

zeikomi = CalucZeikomi(nedan)

と代入文を書けば、zeikomi に税込価格が代入されます。

これは、CalucZeikomi 内で計算した税込価格を retZeikomi に代入して、

Return retZeikomi

と書くことによって、Returnに設定した値が、関数から戻ってくるからです。

ソースリストの枠内をクリックすると全選択できます。

Module Module1

  Sub Main()
      ' 変数の宣言
      Dim inStr As String
      Dim nedan As Integer = 0
      Dim zeikomi As Double = 0
      Dim goukei As Double = 0

      Console.WriteLine("// 税込価格を計算 //")
      ' キーボードから商品価格を入力し、税込価格を求める
      Do
          Console.WriteLine()    ' 改行
          Console.WriteLine("商品価格を入力して下さい")
          ' キーボードから入力
          inStr = Console.ReadLine()
          ' 入力した文字列を整数に変換
          nedan = Integer.Parse(inStr)
          If nedan > 0 Then
              ' 税込価格を関数を使って計算
              zeikomi = CalucZeikomi(nedan)
              ' 税込合計額を計算
              goukei = goukei + zeikomi
          Else
              ' 入力値が0以下ならLoopを抜ける
              Console.WriteLine("入力終了")
              Exit Do
          End If
      Loop

      ' 税込価格を表示
      Console.WriteLine()    ' 改行
      Console.WriteLine("---------------")
      Console.WriteLine("税込合計金額は")
      Console.WriteLine(goukei & "円です")
  End Sub

  '*************************************
  ' 機能:税込価格を計算する関数
  ' 引数:商品価格
  ' 戻値:税込価格
  '******1*********2*********3*********4
  Public Function CalucZeikomi(ByVal kakaku As Integer) As Double

      Dim retZeikomi As Double = 0    'リターン値

      ' 税込価格を計算
      retZeikomi = kakaku * 1.05

      ' 税込価格を表示
      Console.WriteLine()              ' 改行
      Console.WriteLine("税込価格は")
      Console.WriteLine(retZeikomi & "円です")

      ' ◆戻り値を設定してリターン
      Return retZeikomi

  End Function

End Module
[広告]