CAMPIONATO L’applicativo ci da la possibilita di vedere le statistiche di una squadra a nostro piacere INTERFACCIA GRAFICA PROGRAMMAZIONE MODULO Option Explicit Type Partita ospite As String trasferta As String goalOspite As Integer GoalTrasferta As Integer giornata As Integer End Type Public Campionato(200) As Partita Public npartite As Integer Public Sub genera(ByVal n As Integer) Dim i As Integer Randomize For i = 0 To n - 1 With Campionato(npartite) .ospite = "squadra" + CStr(CInt(Rnd() * 20)) .trasferta = "squadra" + CStr(CInt(Rnd() * 20)) .goalOspite = CInt(Rnd() * 4) .GoalTrasferta = CInt(Rnd() * 4) .giornata = i Mod 5 + 1 End With npartite = npartite + 1 Next i End Sub Public Function GoalCasa(ByVal nsquadra As String) As Integer Dim ngoal As Integer Dim i As Integer ngoal = 0 For i = 0 To npartite - 1 If Campionato(i).ospite = nsquadra Then ngoal = ngoal + Campionato(i).goalOspite End If Next i GoalCasa = ngoal End Function Public Function GoalTrasferta(ByVal nsquadra As String) As Integer Dim ngoal As Integer Dim i As Integer ngoal = 0 For i = 0 To npartite - 1 If Campionato(i).trasferta = nsquadra Then ngoal = ngoal + Campionato(i).GoalTrasferta End If Next i GoalTrasferta = ngoal End Function Public Function Vinte(ByVal nsquadra As String) As Integer Dim nvinte As Integer Dim i As Integer nvinte = 0 For i = 0 To npartite - 1 If (Campionato(i).trasferta = nsquadra) And (Campionato(i).trasferta > Campionato(i).ospite) Then nvinte = nvinte + 1 Else If (Campionato(i).ospite = nsquadra) And (Campionato(i).trasferta < Campionato(i).ospite) Then nvinte = nvinte + 1 End If End If Next i Vinte = nvinte End Function Public Sub scambia(a As Partita, b As Partita) Dim t As Partita t=a a=b b=t End Sub Public Sub ordinaGiornata() Dim i, j As Integer For i = 0 To npartite - 2 For j = i + 1 To npartite - 1 If Campionato(i).giornata > Campionato(j).giornata Then scambia Campionato(i), Campionato(j) End If Next j Next i End Sub FORM CAMPIONATO Option Explicit Private Sub cmdfine_Click() End End Sub Private Sub cmdSquadra_Click() frmStat.Show End Sub Private Sub cmdVisualizza_Click() Dim i As Integer For i = 0 To npartite - 1 grdDati.Row = i + 1 With Campionato(i) grdDati.Col = 0 grdDati.Text = i + 1 grdDati.Col = 1 grdDati.Text = .ospite grdDati.Col = 2 grdDati = .trasferta grdDati.Col = 3 grdDati = .goalOspite grdDati.Col = 4 grdDati = .GoalTrasferta grdDati.Col = 5 grdDati = .giornata End With Next i End Sub Private Sub Form_Load() npartite = 0 Dim s As String s=" |<Squadra Casa |<Squadra Trasferta |^Goal Casa|^Goal trasferta|> Giornata" grdDati.FormatString = s genera 80 ordinaGiornata cmdVisualizza_Click End Sub FORM STATISTICHE Option Explicit Private Sub cmdChiudi_Click() Unload Me End Sub Private Sub cmdIndietro_Click() frmCampionato.Show End Sub Private Sub Form_Load() Dim nsquadra As String nsquadra = InputBox("Nome Squadra", "squadra") frmStat.Caption = nsquadra lblGoalCasa = "Goal fatti in casa : " + CStr(GoalCasa(nsquadra)) lblGoalTrasferta = "Goal fatti in trasferta : " + CStr(GoalTrasferta(nsquadra)) lblTotali = "Partite vinte " + CStr(Vinte(nsquadra)) End Sub