Ga naar inhoud

Aanbevolen berichten

Geplaatst:

Hallo iedereen

Ik weet niet of het hier thuishoort, maar ik heb een probleem met mijn oefening voor de avondschool.

Wij moeten een oefening maken waarbij de gebruiker 2 gehele getallen ingeeft, waarvan het eerste getal kleiner dan of gelijk is aan het tweede. De computer berekent de som van de getallen vanaf het eerste getal tot en met het tweede getal. Dus er wordt bijvoorbeeld 5 en 10 ingegeven, dan berekent de computer: 5 + 6 + 7 + 8 + 9 + 10 = 45. Die 45 dient in een apart tekstvak weergegeven te worden.

Dit is mijn voorlopige code.

Private Sub btnBerekenen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBerekenen.Click

' Declaratie van de variabelen.

Dim eerstegetal, tweedegetal, som As Integer

' Gegevens van tekstvakken omzetten naar variabelen.

eerstegetal = CType(txtEersteGetal.Text, Integer)

tweedegetal = CType(txtTweedeGetal.Text, Integer)

' Berekenen van de som.

Do While tweedegetal = eerstegetal

som = som + eerstegetal

eerstegetal = eerstegetal + 1

Loop

' Weergave van uitkomst.

txtSom.Text = som.ToString

Ik hoop dat er iemand mij kan zeggen waar mijn fout zit..

Groetjes,

Jessica

Geplaatst: (aangepast)

Ik ken geen Visual Basic, maar moet je niet bij je declaratie ook vastleggen dat som = 0

En die Do While lus ziet er ook niet juist uit.

Maar je wacht beter op iemand die Visual Basic kent.

aangepast door cibi
Geplaatst:

ik heb ook iest van 50 youtube lessen vb gevolgt, al een jaar geleden alhoewel.

maar de oplossing zou ik niet weten maar als ik zo je code zie heb je er staan,

Berekenen van de som.

Do While tweedegetal = eerstegetal

som = som + eerstegetal

eerstegetal = eerstegetal + 1

zou het niet handig zijn om er iest anders van te maken bijvoorbeeld.

Do While tweedegetal <= eerstegetal

eerstegetal = eerstegetal + 1

ik denk niet dat dit in de buurt komt van het antwoord dat jij wil, (ik heb er ook niet veel verstand van).

maar je moet mischien iest beter je fout vertellen,

wat gaat er fout als je de getallen in vult,

of wat gebeurt er uberhaupt.

Geplaatst:

Zoals cibi zegt: bij de declaratie de integers initialiseren op 0.

' Berekenen van de som.

Do While tweedegetal = eerstegetal

som = som + eerstegetal

eerstegetal = eerstegetal + 1

De fout zit in de conditie van de do while.

Als je even nadenkt, zal je vaststellen dat deze conditie nooit voldaan is en al zeker niet bij aanvang.

De loop zal dus nooit uitgevoerd worden en je zal dus geen resultaat krijgen.

Ik zou de oplossing kunnen geven maar dan leer je niet veel bij.

Bekijk de conditie van de loop en gebruik een andere formulering om de conditie te bepalen.

Laat maar weten wat je gevonden hebt en of het dan werkt.

Als het echt niet lukt, wil ik nog wel een tip geven maar probeer het eerst zelf te vinden.

Nog een tip.

Je kan na het inlezen van de 2 getallen even een msgbox tonen met de ingelezen getallen, ter controle dat ze correct zijn en dat je met de juiste basis van start gaat. In het definitieve programma haal je die msgbox er dan weer van tussen.

Geplaatst:

Dit heb ik nu.. maar er gebeurt nog steeds niets..

' Declaratie van de variabelen.

Dim eerstegetal As Integer

Dim tweedegetal As Integer

Dim som As Integer = 0

' Gegevens van tekstvakken omzetten naar variabelen.

eerstegetal = CType(txtEersteGetal.Text, Integer)

tweedegetal = CType(txtTweedeGetal.Text, Integer)

' Berekenen van de som.

Do While eerstegetal <= tweedegetal

som = eerstegetal + 1

Loop

' Weergave van uitkomst.

txtSom.Text = som.ToString

Ik weet echt niet wat ik fout doe..

Grtz

Geplaatst:
' Berekenen van de som.

Do While eerstegetal <= tweedegetal

som = eerstegetal + 1

Loop

Wat is hier de bedoeling van?

In je eerste bericht was enkel de conditie van de loop fout en die heb je nu mooi verbeterd.

Waarom dan knoeien met de rest?

Geplaatst:

ok, ik snap dus volledig wat ik fout heb gedaan. Eigenlijk klopte hetgeen moest gebeuren als er aan de voorwaarde voldaan was, maar waren mijn condities niet juist opgesteld.

Nu werkt het. :D

Merci!!

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.