饮料自动售货机代码

时间:2017-03-30 22:58:55

标签: vb.net winforms visual-studio-2015

Hello Stackflow社区, 我目前正在Visual Basic上课,我需要一些帮助。我正在创建一个使用数组模拟饮料自动售货机的程序。说明如下: 创建一个模拟软饮料自动售货机的应用程序。应用程序应让用户选择以下软饮料之一:

可可(每人$ 1.00) 根啤酒(每个$ 1.00) 柠檬苏打水(每片1.00美元) 葡萄苏打(每个1.50美元) 奶油苏打水(每个1.50美元)

当应用程序启动时,自动售货机将有20种每种类型的软饮料。每次用户选择饮料时,应用程序应从所选饮料的数量中减去1。它还应该更新并显示总销售额。如果用户选择售罄的饮料,则应显示一条消息,表明如此。

在应用程序的代码中,创建一个包含以下数据字段的结构:

饮料名称 喝酒费用 机器中的饮料数量

程序应该创建一个包含五个结构对象的数组。数组的每个元素都应保留特定类型软饮料的数据。

我无法弄清楚如何使我的按钮工作以减少数量标签,然后将每次点击添加到标签总数。请帮忙。

Public Class Form1
' Class-level declarations
Const intMAX_SUBSCRIPT As Integer = 4               ' Upper subscript
Dim strProdNames(intMAX_SUBSCRIPT) As String        ' Product Names
Dim decPrice(intMAX_SUBSCRIPT) As Decimal           ' Drink Price
Dim intProdNums(intMAX_SUBSCRIPT) As Integer        ' Product Numbers

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    ' Initialize the arrays with the product data.
    InitArrays()
End Sub

Private Sub InitArrays()
    ' Initialize the arrays.

    ' First Product
    strProdNames(0) = "Cola"
    decPrice(0) = 1D
    intProdNums(0) = 20

    ' Second Product
    strProdNames(1) = "Root Beer"
    decPrice(1) = 1D
    intProdNums(1) = 20

    ' Third Product
    strProdNames(2) = "Lemon Lime"
    decPrice(2) = 1D
    intProdNums(2) = 20

    ' Fourth Product
    strProdNames(3) = "Grape Soda"
    decPrice(3) = 1.5D
    intProdNums(3) = 20

    ' Fifth Product
    strProdNames(4) = "Cream Soda"
    decPrice(4) = 1.5D
    intProdNums(4) = 20

End Sub

Private Sub btnCola_Click(sender As Object, e As EventArgs) Handles btnCola.Click
    Dim intCount As Integer = 20        ' Loop Counter

    intCount -= 1                       ' Decrement drink count

    If intCount > 0 Then
        lblTotal.Text = decPrice(0).ToString("c")
    End If

End Sub

1 个答案:

答案 0 :(得分:0)

你需要递减数组中的可乐计数。

 Private Sub btnCola_Click(sender As Object, e As EventArgs)
        If intProdNums(0) > 0 Then
            intProdNums(0)-=1  ' decrement cola drink count
        End If

        ' show results here...
    End Sub