samedi 9 mai 2015

Why is my Select Case not working

Okay my question goes as follows; I think i coded everything right execpt for the part where i do my select case, I want the first 3 Flavours to only cost 55 cents but when I do my code it always makes the scoops 65 cents no matter what icecream type i select and i dont know how to make it change, i thought i had it right but it isnt working

Public Class frmJoeyIceCreamParlour Const MIN_SCOOPS = 1 Const MAX_SCOOPS = 9 Const BASIC_FLAVOUR = 0.55 Const PREMIUM_FLAVOUR = 0.65 Const TOPPING = 0.6 Const DEEZ_NUTS = 0.5 Const WHIPPED_CREAM = 0.65 Public scoopEntry As Single Public scoopType As Double Public runningTotal As Double

Private Sub frmJoeyIceCreamParlour_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    lstFlavours.Items.Add("Vanilla")
    lstFlavours.Items.Add("Chocolate")
    lstFlavours.Items.Add("Strawberry")
    lstFlavours.Items.Add("Mango")
    lstFlavours.Items.Add("Bananna")
    lstFlavours.Items.Add("Grape")
    lstFlavours.Items.Add("Mint Chocolate Chip")
End Sub

Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
    If txtScoops.Text = Nothing Then
        MessageBox.Show("Please enter a value in the scoops category.")
        txtScoops.Focus()

    ElseIf Not IsNumeric(txtScoops.Text) Then
        MessageBox.Show("Entry must be numeric! Please try again.")
        txtScoops.Focus()

    ElseIf txtScoops.Text < MIN_SCOOPS Or txtScoops.Text > MAX_SCOOPS Then
        MessageBox.Show("Please enter a number between 1 and 9 scoops.")
        txtScoops.Focus()

    ElseIf lstFlavours.SelectedItem = Nothing Then
        MessageBox.Show("Please select a flavour.")

    ElseIf rdoNoTopping.Checked = False And rdoOneTopping.Checked = False And rdoTwoTopping.Checked = False And rdoThreeTopping.Checked = False Then
        MessageBox.Show("Please select the amount of toppings you would like.")

    Else
        Dim number As Integer = 7
        Select Case number

            Case 1 To 3
                scoopType = BASIC_FLAVOUR
            Case 4 To 7
                scoopType = PREMIUM_FLAVOUR

                runningTotal = scoopType * Double.Parse(txtScoops.Text)
        End Select

        If rdoOneTopping.Checked = True Then
            runningTotal = runningTotal + TOPPING

        ElseIf rdoTwoTopping.Checked = True Then
            runningTotal = runningTotal + (TOPPING * 2)

        ElseIf rdoThreeTopping.Checked = True Then
            runningTotal = runningTotal + (TOPPING * 3)

        End If

        If chkWhippedCream.Checked = True Then
            runningTotal = runningTotal + WHIPPED_CREAM

        End If

        If chkNuts.Checked = True Then
            runningTotal = runningTotal + DEEZ_NUTS

        End If
        lblOutputTotal.Text = (FormatCurrency(runningTotal))
        End If
End Sub

Aucun commentaire:

Enregistrer un commentaire