Vb.net 使用单选按钮和复选框进行计算
我是一个初学者程序员,试图让我的程序计算与无线电框和复选框一起工作 我需要记录总数,所以如果有人选了一辆车,你选哪辆车就有一个乘数。例如,宝马=基本价格20000的1.5…=30000。所以,如果你添加了诸如敞篷车、车轮性能等选项,它会增加乘数 我知道这有点草率,在现实世界的应用程序中没有意义,因为汽车有这个和那个。这只是一个例子,帮助我计算Vb.net 使用单选按钮和复选框进行计算,vb.net,Vb.net,我是一个初学者程序员,试图让我的程序计算与无线电框和复选框一起工作 我需要记录总数,所以如果有人选了一辆车,你选哪辆车就有一个乘数。例如,宝马=基本价格20000的1.5…=30000。所以,如果你添加了诸如敞篷车、车轮性能等选项,它会增加乘数 我知道这有点草率,在现实世界的应用程序中没有意义,因为汽车有这个和那个。这只是一个例子,帮助我计算 如何获取my options常量并将其分配给变量,以便它可以计算价格?一旦我开始在汽车间切换,我就不能让它乘以乘数值。所以,如果你在宝马车上用皮革,它的价
如何获取my options常量并将其分配给变量,以便它可以计算价格?一旦我开始在汽车间切换,我就不能让它乘以乘数值。所以,如果你在宝马车上用皮革,它的价格会高出1.5美元,但如果你在雪佛兰车上用皮革,它只会乘以1.0。。一旦我开始转换,我就无法获得超出固定费率的选项。我的程序中有不同汽车的代码,只是为了提高可读性而省略了它 配备天窗和车轮升级的宝马将乘以1.5 雪佛兰与天窗和车轮升级将乘以1.0 当你勾选和取消勾选并切换选项时,成本也会随之切换 谢谢你们的帮助,谢谢你们
Const BasePrice As Double = 20000
Public Const BMW As Double = 1.5
Public Const Chevrolet As Double = 1.0
Public Const Leather As Double = 2000
Public Const Sunroof As Double = 1000
Public Const GPS As Double = 2000
Public Const Performance As Double = 3000
Public Const Wheels As Double = 2000
Dim Sum As Double
Dim options As Double
Sub calculate()
If optBMW.Checked Then
Sum = BMW * (BasePrice + options)
lblCost.Text = FormatCurrency(Sum)
End If
End Sub
Private Sub optBMW_CheckedChanged(sender As Object, e As EventArgs) Handles optBMW.CheckedChanged
calculate()
End Sub
Private Sub chkLeather_CheckedChanged(sender As Object, e As EventArgs) Handles chkLeather.CheckedChanged
If chkLeather.Checked = True Then
Sum += Leather
lblCost.Text = Sum
End If
If chkLeather.Checked = False Then
Sum -= Leather
lblCost.Text = Sum
End If
End Sub
Private Sub chkWheelUpgrade_CheckedChanged(sender As Object, e As EventArgs) Handles chkWheelUpgrade.CheckedChanged
End Sub
界面图片
试试这个:
Public BasePrice As Double = 20000
Public BMW As Double = 1.5
Public Chevrolet As Double = 1.0
Public Leather As Double = 2000
Public Sunroof As Double = 1000
Public GPS As Double = 2000
Public Performance As Double = 3000
Public Wheels As Double = 2000
Dim Sum As Double = 0
Dim options As Double = 0
Sub calculate()
If optBMW.Checked Then
Sum = BMW * (BasePrice + options)
lblCost.Text = FormatCurrency(Sum)
End If
End Sub
Private Sub optBMW_CheckedChanged(sender As Object, e As EventArgs) Handles optBMW.CheckedChanged
calculate()
End Sub
Private Sub chkLeather_CheckedChanged(sender As Object, e As EventArgs) Handles chkLeather.CheckedChanged
If chkLeather.Checked = True Then
Sum += Leather
lblCost.Text = Sum
End If
If chkLeather.Checked = False Then
Sum -= Leather
lblCost.Text = Sum
End If
End Sub
如你所见。我在复选框中使用了变量选项,而不是sum(只有在应用乘法器后才使用sum)。在你所有的复选框中都这样做
然后调用所有复选框和单选按钮中的计算,以便每次选中和取消选中时都会重新计算 VB.NET不是vba。我删除了其他错误的标签,请修复它们。我不确定我是否理解这个问题——汽车不是按英镑或单位定价的(一辆Merc可能是一辆Yugo的2倍,但这是数据的意外)。空调和加热座椅等选项将更加真实。请不要张贴代码的图片-代码需要在这里张贴。请参阅删除vba标记,因为它看起来确实像VB.NET,然后问一个特定的问题-什么不起作用?您还应该打开option strict,现在就了解数据类型转换。如何获取my options常量并将其分配给变量,以便它可以计算价格?一旦我开始在汽车间切换,我就不能让它乘以乘数值。所以,如果你在宝马车上用皮革,它的价格会高出1.5美元,但如果你在雪佛兰车上用皮革,它只会乘以1.0。。一旦我开始转换,我就无法获得超出固定费率的选项。我的程序中有不同汽车的代码,只是为了提高可读性而忽略了它。我需要去掉输出的小数点。所以它只是10万美元;不是100,00.00美元。。。。你可以看到,我使用了“FormatCurrency”,但我开始静态转换我的选项。。但是idk如果这是我应该做的?lblTotalCost.Text=CStr(选项)请参见此处:
Const BasePrice As Double = 20000
Public Const BMW As Double = 1.5
Public Const Chevrolet As Double = 1.0
Public Const Leather As Double = 2000
Public Const Sunroof As Double = 1000
Public Const GPS As Double = 2000
Public Const Performance As Double = 3000
Public Const Wheels As Double = 2000
Dim Sum As Double
Dim options As Double
Sub calculate()
If optBMW.Checked Then
Sum = BMW * (BasePrice + options)
lblCost.Text = FormatCurrency(Sum)
End If
End Sub
Private Sub optBMW_CheckedChanged(sender As Object, e As EventArgs) Handles optBMW.CheckedChanged
calculate()
End Sub
Private Sub chkLeather_CheckedChanged(sender As Object, e As EventArgs) Handles chkLeather.CheckedChanged
If chkLeather.Checked = True Then
options += Leather
lblCost.Text = options
End If
If chkLeather.Checked = False Then
options -= Leather
lblCost.Text = options
End If
calculate()
End Sub