2016-05-10 5 views
0

Ich bin am Ende einer sehr einführenden Informatik-Klasse und es hat einige Visual Basic 2012-Programmierung. Eine unserer Aufgaben vor diesem Finale ist es, einen Auto Insurance Calculator zu erstellen, der im Grunde eine Basisversicherungszahlung ($ 2400.00) und dann bis zu 7 Rabatte mit unterschiedlichen Prozentsätzen und dann Zahlungsart "Monatlich, Vierteljährlich, Halb, Jährlich" und dann die Programm gibt den gesamten Zahlungsbetrag einschließlich der Rabatte in ein Etikett ausCoding-Programm zur Berechnung beliebiger Rabatte mit Ausgabe

Dies ist mein Code unten. und ich habe es, um es richtig zu berechnen, aber ich muss einen definierten Prozentsatz eingeben, da ich insgesamt einen Rabatt von 17% habe, habe ich ".17" gesetzt, aber ich möchte, welche Rabatte in den Kontrollkästchen in insgesamt

ausgegeben werden

Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen. Dies scheint für eine Programmierklasse am Anfang schwierig zu sein, und wir gingen nur zu Kapitel 6 im Buch Visual Basic 2012.

Meine GUI Mockup

GUI Mockup Screenshot hier http://puu.sh/oMn3K/7590cc2def.jpg

Verwendete Bedienelemente - Groupbox links: Ankreuzfelder, Groupbox rechts: Radio-Buttons, 3 Tasten an der Unterseite, Etikett unten: Ausgabe

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

Sie können eine switch case-Anweisung verwenden, um den prozentualen Wert basierend auf Checkbox-Auswahl zu finden. – jitendragarg

Antwort

-1

Verwenden Sie den folgenden Code, um den Prozentwert zu erhalten.

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 

Dann werden alle 0.17 mit percentage ersetzen und es wird funktionieren.

Wenn die Anzahl der Kontrollkästchen gleich sind, können Sie schwer, alles Code wie unten:

If Chk25.Checked Then 
percentage = 0.03 
Else If Chkgood.Checked Then 
percentage = 0.05 
End If 

P. S. Es ist eigentlich ein gutes Problem für Anfänger, nicht so schwer, um ehrlich zu sein. Versuchen Sie einfach, Probleme in kleinere Probleme zu integrieren. Teile und herrsche, erinnere dich immer daran. :)

Edit: Können wir mit dieser negative votes without mentioning the reason Sache aufhören? Ist das reddit/4chan?

+0

Sie sind so fantastisch! Danke, ich werde das bekommen und sehen, wie es geht Dargestellt, dass es etwas sein musste erklärt –

+0

Vergessen zu erwähnen: Wird das funktionieren, selbst wenn diese Checkboxen in einer Gruppenbox sind? –

+0

Ja. Es wird auch dann funktionieren. – jitendragarg

0

, da Sie nicht über beschwerten cmdclear_Click nicht funktioniert, kann ich sicher davon ausgehen, dass diese alle Chk25, Chkgood usw. Referenzen funktioniert

so können Sie diesen Code in btncalculate_Click direkt nach Dim snginscost As Single = 2400.0 Anweisung Versuchen Sie, :

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 

ich hoffe, dass mein Versuch helfen Sie wil Ich verletze dich nicht als jitendra garg did ...

Verwandte Themen