Archief - Visual Basic 2010 controleren van sommen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Shadir

Legacy Member
Hallo,

Ik was bezig met het programmeren van een Vb programma om men kleine broertje te helpen met zijn optellen en aftrekken te oefenen maar ik heb random sommen en verschillen gemaakt en wat ik nu zou willen doen is het controleren of het juist is, het aantal juiste weergeven en indien het fout is de juiste oplossing in een label (momenteel genaamd label5) weergeven.

Is er iemand die me zou kunnen helpen? Liefst met gebruik van een array zodat ik het in het vervolg ook zelf kan doen :)

Ik zou jullie hulp heel erg kunnen waarderen

Dit is mijn code:

Private Sub FrmSomEnVerschil_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

Dim ObjRandom As New Random
Dim Intgetal, Intgetal2 As Integer

Label1.Text = ""
Label2.Text = ""
Label3.Text = ""
Label4.Text = ""

For Shtteller As Short = 0 To 9
Label4.Text &= "=" & vbNewLine
Intgetal = ObjRandom.Next(0, 100)
If Intgetal >= 50 Then
Label2.Text &= "+" & vbNewLine
Intgetal = ObjRandom.Next(0, 11)
Intgetal2 = ObjRandom.Next(0, 10 - Intgetal)
Label1.Text &= Intgetal & vbNewLine
Label3.Text &= Intgetal2 & vbNewLine
Else
Label2.Text &= "-" & vbNewLine
Intgetal = ObjRandom.Next(0, 11)
Intgetal2 = ObjRandom.Next(0, Intgetal)
Label1.Text &= Intgetal & vbNewLine
Label3.Text &= Intgetal2 & vbNewLine
End If
Next

End Sub

Dit is hoe het design er uit ziet (mijn broertje is jong dus beyblade om het aantrekkelijk te maken):

http://desmond.imageshack.us/Himg843/scaled.php?server=843&filename=79153516.png&res=medium

De eerste getallen voor het plus- of minteken is 1 label, het plus- of minteken is een tweede label, de tweede getallen na het plus- of minteken is een label en de = tekens zijn ook een label (totaal 4 labels)

Tyfius

Legacy Member
Ik ken zelf weinig van VB.NET, dus een kant en klare oplossing kan ik je niet geven, maar wel een snelle tip.

Ik zou een enum (Operation) aanmaken waarin je de bewerking definieert, Add of Subtract. En een klasse waar je twee integers en een operation definieert. In je for-loop kan je dan telkens een object aanmaken waar je de twee getallen en het type operatie in steekt en dit in een lijst bijhouden. Wanneer je dan op de knop klikt om te controleren kan je die lijst overlopen en de bewerking zelf uitvoeren. Of je kan de oplossing reeds zelf als een extra veld in het object steken en de uitkomst rechtstreeks bereken. Dan hoef je de Operation zelf niet op te slaan.

KiPpIe

Legacy Member
Het grootste probleem hier is dat je de getallen enkel in je labels definieert.
Indien je op deze moment dus een controle zou willen uitvoeren moet je de label.Text gaan parsen voor daar de 2 getallen en de operator uit te halen. Een beetje slordig dus.

Shadir

Legacy Member
Ik zou het graag met arrays hebben, ik heb al gezien dat het zo zou moeten lukken maar ik weet gewoon niet hoe
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan