我正在进行一个非常初级的计算机科学课程的决赛,它有一些Visual Basic 2012编程。我们在上述决赛之前的任务之一就是创建一个汽车保险计算器,它基本上使用基本保险付款($ 2400.00)计算,然后根据不同的百分比计算最多7个折扣,然后付款类型"每月,每季度,半年,年度&# 34;然后程序将包括折扣在内的总付款金额输出到标签
这是我的代码如下。我有正确的计算但是我必须加上一个确定的百分比,因为我总共有17%的折扣" .17"但我希望在复选框中选择的任何折扣都输出到总数
如果您需要更多信息,请告诉我们。对于初级编程类而言,这似乎相当困难,我们只进入Visual Basic 2012书中的第6章。
我的GUI样机
GUI模型截图http://puu.sh/oMn3K/7590cc2def.jpg
使用的控件 - 左侧的Groupbox:复选框, 右侧的Groupbox:Radio Buttons, 底部有3个按钮, 底部标签:输出
Public Class frminsurance
Private Sub btncalculate_Click(sender As Object, e As EventArgs) Handles btncalculate.Click
Dim snginscost As Single = 2400.0
' Monthly Payment
If radmonthly.Checked Then
snginscost = (snginscost - (snginscost * 0.17) / 1)
End If
' Quarterly Payment
If radquarterly.Checked Then
snginscost = (snginscost - (snginscost * 0.17) / 3)
End If
' Semi-annual Payment
If radsemi.Checked Then
snginscost = (snginscost - (snginscost * 0.17) / 6)
End If
' Annual Payment
If radannually.Checked Then
snginscost = (snginscost - (snginscost * 0.17) / 12)
End If
lbltotal.Text = snginscost.ToString("C")
End Sub
Private Sub cmdclear_Click(sender As Object, e As EventArgs) Handles cmdclear.Click
radmonthly.Checked = False
radquarterly.Checked = False
radsemi.Checked = False
radannually.Checked = False
Chk25.Checked = False
Chkgood.Checked = False
Chkhonor.Checked = False
Chkmarried.Checked = False
Chknonsmoker.Checked = False
Chkparents.Checked = False
Chktactical.Checked = False
lbltotal.Text = ""
End Sub
Private Sub cmdexit_Click(sender As Object, e As EventArgs) Handles cmdexit.Click
Me.Close()
End Sub
End Class
答案 0 :(得分:0)
由于您没有抱怨cmdclear_Click
无法正常工作,我可以安全假设所有Chk25
,Chkgood
等引用都有效适当
因此您可以尝试在btncalculate_Click
声明之后Dim snginscost As Single = 2400.0
添加此代码:
Dim percentage As Double
Select Case True
Case Chknonsmoker.Checked
percentage=0.04
Case Chkgood.Checked
percentage=0.05
Case Chktactical.Checked
percentage=0.05
Case Else
percentage=0.03
End Select
我希望我尝试 帮助 你不会像jitendra garg那样伤害你......
答案 1 :(得分:-1)
使用以下代码获取百分比值。
Dim percentage As Double
Dim i As Integer
Dim chkbx As CheckBoxList
chkbx = CType(FormView1.FindControl("CheckBoxList1"), CheckBoxList)
For i = 0 To chkbx.Items.Count - 1
If chkbx.Items(i).Selected Then
percentage = chkbx.Items(i).Value
End If
Next
然后将所有0.17
替换为percentage
,它就可以了。
如果复选框的数量相同,您可以硬编码如下所示:
If Chk25.Checked Then
percentage = 0.03
Else If Chkgood.Checked Then
percentage = 0.05
End If
P.S。对于初学者来说这实际上是一个很好的问题,而不是那么难以说实话。试着将问题分解为更小的问题。分而治之,永远记住这一点。 :)
编辑:我们可以停止这个negative votes without mentioning the reason
事吗?这是reddit / 4chan吗?