Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 使用单选按钮和复选框进行计算_Vb.net - Fatal编程技术网

Vb.net 使用单选按钮和复选框进行计算

Vb.net 使用单选按钮和复选框进行计算,vb.net,Vb.net,我是一个初学者程序员,试图让我的程序计算与无线电框和复选框一起工作 我需要记录总数,所以如果有人选了一辆车,你选哪辆车就有一个乘数。例如,宝马=基本价格20000的1.5…=30000。所以,如果你添加了诸如敞篷车、车轮性能等选项,它会增加乘数 我知道这有点草率,在现实世界的应用程序中没有意义,因为汽车有这个和那个。这只是一个例子,帮助我计算 如何获取my options常量并将其分配给变量,以便它可以计算价格?一旦我开始在汽车间切换,我就不能让它乘以乘数值。所以,如果你在宝马车上用皮革,它的价

我是一个初学者程序员,试图让我的程序计算与无线电框和复选框一起工作

我需要记录总数,所以如果有人选了一辆车,你选哪辆车就有一个乘数。例如,宝马=基本价格20000的1.5…=30000。所以,如果你添加了诸如敞篷车、车轮性能等选项,它会增加乘数

我知道这有点草率,在现实世界的应用程序中没有意义,因为汽车有这个和那个。这只是一个例子,帮助我计算


如何获取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