Dim index As Integer
Dim choice As String
Dim total As Integer
total = 0
index = NumericUpDown1.Value
Dim arr(4) As Integer
arr(0) = 10
arr(1) = 5
arr(2) = 21
arr(3) = 33
If index > 0 Then
choice = (Combobox1.SelectedItem.ToString + " x " + NumericUpDown1.Value.ToString)
ListBox1.Items.Add(choice)
CheckedListBox1.Items.Add(choice)
total += arr(Combobox1.SelectedIndex) * index
TotalLabel.Text = total.ToString()
Else
MsgBox("error.")
End If
I can calculate the total of single choice, but fail to accumulate to sum.
What’s wrong of the code?
Current Situation:
Step 1:
choose arr(0), index = 2
total = 20
Step 2:
choose arr(2), index = 1
total = 21
Correct Situation:
Step 1:
choose arr(0), index = 2
total = 20
Step 2:
choose arr(2), index = 1
total = 41
You’ll need a either a global variable or a class with a public variable. You should create a
Transactionclass to store the data about the transaction and probably aProductclass to store the data about the product. What you put in it is up to you, but I’d start out with something like this:These are a couple class shells to get you started. If you’re serious about making a product, this is a step in the right direction. If you’re going to write code, write it the right way.
If you’re just looking for a quick and dirty solution, you can declare a global variable and just keep a running sum. Just don’t forget to clear it out before you start a new transaction.
You’ll want to do something like:
Private TransactionCost As Doublein your form outside of all your methods.Again, I would recommend the first way of going about things. You’ll need at least those two classes and they’ll definitely be more fleshed out for a real product.
I hope this helps and answers your question. If it does, hit me with an upvote and accept the answer. Welcome to SO.