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
Scarica

Esercizio n.2