PDA

View Full Version : VB codding help



wedgie94
11-01-2011, 04:24 PM
Right I'm trying to write a code to count up votes using arrays to store the votes. What I need is a way to count all of these eneter votes up (there are 100 BTW votes either a,b or c) If someone could help me here I would be very grateful

Option Explicit
Option Base 1 'all array variable elements numbered from 1 not 0

Sub Count_Votes()
'program to count the number of votes for A B and C

Dim iCount As Integer
Dim bFound As Boolean
Dim votes_cast(100) As String
Dim Count_Votes As Integer


'initialise votes_cast array
votes_cast(1) = "B"
votes_cast(2) = "C"
votes_cast(3) = "C"
votes_cast(4) = "B"
votes_cast(5) = "B"
votes_cast(6) = "B"
votes_cast(7) = "C"
votes_cast(8) = "A"
votes_cast(9) = "A"
votes_cast(10) = "A"
votes_cast(11) = "A"
votes_cast(12) = "A"
votes_cast(13) = "A"
votes_cast(14) = "A"
votes_cast(15) = "B"
votes_cast(16) = "B"
votes_cast(17) = "C"
votes_cast(18) = "B"
votes_cast(19) = "A"
votes_cast(20) = "B"
votes_cast(21) = "C"
votes_cast(22) = "B"
votes_cast(23) = "A"
votes_cast(24) = "B"
votes_cast(25) = "A"
votes_cast(26) = "C"
votes_cast(27) = "C"
votes_cast(28) = "B"
votes_cast(29) = "B"
votes_cast(30) = "B"
votes_cast(31) = "B"
votes_cast(32) = "A"
votes_cast(33) = "A"
votes_cast(34) = "A"
votes_cast(35) = "C"
votes_cast(36) = "C"
votes_cast(37) = "B"
votes_cast(38) = "A"
votes_cast(39) = "B"
votes_cast(40) = "A"
votes_cast(41) = "B"
votes_cast(42) = "C"
votes_cast(43) = "B"
votes_cast(44) = "C"
votes_cast(45) = "A"
votes_cast(46) = "A"
votes_cast(47) = "A"
votes_cast(48) = "C"
votes_cast(49) = "C"
votes_cast(50) = "B"
votes_cast(51) = "B"
votes_cast(52) = "B"
votes_cast(53) = "C"
votes_cast(54) = "B"
votes_cast(55) = "C"
votes_cast(56) = "B"
votes_cast(57) = "C"
votes_cast(58) = "B"
votes_cast(59) = "C"
votes_cast(60) = "B"
votes_cast(61) = "C"
votes_cast(62) = "A"
votes_cast(63) = "A"
votes_cast(64) = "C"
votes_cast(65) = "B"
votes_cast(66) = "A"
votes_cast(67) = "B"
votes_cast(68) = "C"
votes_cast(69) = "C"
votes_cast(70) = "B"
votes_cast(71) = "B"
votes_cast(72) = "B"
votes_cast(73) = "C"
votes_cast(74) = "A"
votes_cast(75) = "A"
votes_cast(76) = "A"
votes_cast(77) = "A"
votes_cast(78) = "A"
votes_cast(79) = "A"
votes_cast(80) = "A"
votes_cast(81) = "B"
votes_cast(82) = "B"
votes_cast(83) = "C"
votes_cast(84) = "B"
votes_cast(85) = "A"
votes_cast(86) = "B"
votes_cast(87) = "C"
votes_cast(88) = "B"
votes_cast(89) = "A"
votes_cast(90) = "B"
votes_cast(91) = "A"
votes_cast(92) = "C"
votes_cast(93) = "C"
votes_cast(94) = "B"
votes_cast(95) = "B"
votes_cast(96) = "B"
votes_cast(97) = "B"
votes_cast(98) = "A"
votes_cast(99) = "A"
votes_cast(100) = "A"

'code to count votes goes here

Tommy
11-02-2011, 10:21 AM
Looks like homework to me

Dim mI As Integer
Dim Ccnt As Integer
Dim Bcnt As Integer
Dim Acnt As Integer
For mI = 1 To 100
Select Case votes_cast(mI)
Case "A"
Acnt = Acnt + 1
Case "B"
Bcnt = Bcnt + 1
Case "C"
Ccnt = Ccnt + 1
Case Else
MsgBox "ERROR Item number " & CStr(mI) & " did not vote, they wrote it in!!!"
End Select
Next
MsgBox "Count for A =" & CStr(Acnt)
MsgBox "Count for B =" & CStr(Bcnt)
MsgBox "Count for C =" & CStr(Ccnt)
End Sub

JimmyTheHand
11-03-2011, 02:14 AM
Another approach:

Dim Acnt As Long, Bcnt As Long, Ccnt As Long
Dim Aggregate As String

Aggregate = Join(votes_cast)
Acnt = Len(Aggregate) - Len(Replace(Aggregate, "A", ""))
Bcnt = Len(Aggregate) - Len(Replace(Aggregate, "B", ""))
Ccnt = Len(Aggregate) - Len(Replace(Aggregate, "C", ""))

MsgBox "Count for A =" & Acnt
MsgBox "Count for B =" & Bcnt
MsgBox "Count for C =" & Ccnt
End Sub Jimmy