编码程序,用输出计算任何选定的折扣

时间:2016-05-10 02:53:15

标签: vb.net visual-studio-2012

我正在进行一个非常初级的计算机科学课程的决赛,它有一些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

2 个答案:

答案 0 :(得分:0)

由于您没有抱怨cmdclear_Click无法正常工作,我可以安全假设所有Chk25Chkgood等引用都有效适当

因此您可以尝试在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吗?