【发布时间】:2014-05-01 13:14:26
【问题描述】:
我已经开始使用 Visual Basic 编写自动售货机代码。它到目前为止有效,但我希望它在你买不起东西时提出错误消息。它仍然是相当基本的,还没有任何项目,但在我开始做其他事情之前希望这不会妨碍我。目前,“Then”语句出现错误,不知道如何解决。我再次对它很陌生,并提出任何建议。谢谢。
Public Class Form1
Private Sub BuyButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BuyButton.Click
Dim Cost, Amount, Change As Decimal
Dim Pennies, Pounds As Integer
Dim msg As String
Cost = Decimal.Parse(CostTextBox.Text)
Amount = Decimal.Parse(AmountTextBox.Text)
Change = (Amount - Cost) * 10
Pounds = Change \ 10
Change = Change Mod 10
Pennies = Change \ 10
Change = Change Mod 10
If Change = "Your change is: -" Then
msg = "You don't have enough Money"
Else
msg = "Your change is: " & Change & vbNewLine
msg += "Pennies: " & Pounds & vbNewLine
msg += "Pounds: " & Pennies & vbNewLine
End If
ChangeLabel.Text = msg
End Sub
End Class
我用过的解决方案: 公开课形式1
Private Sub BuyButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BuyButton.Click
Dim Cost, Amount, Change As Decimal
Dim Pennies, Pounds As Integer
Dim msg As String
Cost = Decimal.Parse(CostTextBox.Text)
Amount = Decimal.Parse(AmountTextBox.Text)
Change = (Amount - Cost)
If Change < 0 Then
msg = "You don't have enough Money"
AmountTextBox.Text = Change + Cost
Else
AmountTextBox.Text = Change
Pounds = Math.Floor(Change)
Pennies = (Change - Pounds) * 100
msg = "Your change is: " & Change.ToString("##.00") & Environment.NewLine
msg += "Pounds: " & Pounds & vbNewLine
msg += "Pennies: " & Pennies & vbNewLine
End If
ChangeLabel.Text = msg
End Sub
【问题讨论】:
-
我已经尝试过了,但没有它现在只会显示消息。 If Change
-
If Change
-
很抱歉,它仍然不起作用,它要么允许任何事情,要么什么都不做。
-
好的,首先要做的是分解问题,在 if 语句之前使用 msgbox 来查看更改 MsgBox(change) 的值,以帮助我需要的不仅仅是“它不起作用”
-
对不起,就像我说的那样,我对此很陌生。我在 If 语句之前放了一个 MsgBox(Change),显示更改的文本与以前保持一致,但无论输入什么数字,弹出框中的数字都显示为 0。 MsgBox(Change) If Change