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
答案 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