Ik moet een opdracht maken voor Informatica , de opdracht is schrijf een programma , als je op een knop klikt , moet je een inputbox krijgen waar je punten op 20 in vult per leerling per vak en dit voor drie leerlingen en drie vakken . Dit lukt mij , maar dan moet je ook nog de gemiddelde score per leerling bereken en laten weergeven in een tekst vak , dit weet ik niet goed hoe ik dit moet doen.
Inprincipe is het de bedoeling dat we met een if en for next structuur werken .Dus als je op de knop start klikt moet hij een inputbox geven waar in staat " Geef de punten voor leerling 1 en voor vaak 1 " en zo moet hij allle leerlingen aflopen (dit heb ik ondertussen al ) maar daarna moet hij de gemiddelde punten per leerling berekenen. Dus alle punten van de 3 vakken die we hebben ingegeven in de inputbox optellen en delen door 3 Maar bij mij neemt die altijd het laatste getal van de leerling , hij telt nooit alle punten van de 3 vakken op
Dim temp as integer
(tijdelijke opslag van de som van de vakken)
Dim gem(0 To 3) As Integer
(hierin slaat hij het gemiddelde op van elke leerling, 0-3 zijn eigenlijk 4 getallen. want een array begint altijd bij 0, maar jij begint gewoon bij 1 dus die 0 doet eigenlijk niets)
en extra loopje waarin hij de waardes van de gemiddeldes weergeeft.
Spoiler
PHP-code:
Private Sub BtnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnStart.Click Dim inttellerVakken As Integer = 1 Dim inttellerlln As Integer = 1 Dim intinputbox As Integer
Dim gem(0 To 3) As Integer //array voor de gemiddeldes Dim temp As Integer //voor tijdelijke som
For inttellerlln = 1 To 3 Step 1 temp = 0 // reset If inttellerlln = inttellerlln Then
For inttellerVakken = 1 To 3 Step 1 intinputbox = InputBox("Geef de punten van leerling: " & inttellerlln.ToString & " Voor vak " & inttellerVakken.ToString) RxtOutput.Text = RxtOutput.Text & "Leerling" & inttellerlln.ToString & " " & "Vak " & inttellerVakken.ToString & " " & intinputbox.ToString & "/20" & vbCrLf
// optellen van de behaalde scores temp = temp + intinputbox Next // gemiddelde berekenen gem(inttellerlln) = temp / 3
End If
Next
//weergeven van alle gemiddelde waardes
For i = 1 To 3 Step 1 RxtOutput.Text = RxtOutput.Text & "Gemiddelde leerling" & i & ": " & gem(i).ToString & "/20" & vbCrLf Next
End Sub
Ik hoop dat je hiermee geholpen bent.
(knippen en plakken van de code werkt niet ivm andere comment syntax)
Ik zou 2 arrays aanmaken (één voor de som, zoals temp. en de andere voor het eind gemiddelde).
En dan werkt het het zelfde als die vorige. je slaat dus eerst bij elk vak het cijfer op in de som-array:
som(huidig vak) = som(huidig vak) + huidig cijfer
en daarna bereken je de gemiddeldes weer en die geef je daarna weer.
Ik zal je morgen verder helpen als je er niet uit komt.