Ga naar inhoud

Algoritme oefening visual basic


Aanbevolen berichten

Goh, mijn volgende oefening is dus ook niet simpel..

Kan iemand mij zeggen waar mijn fout zit? Het programma berekent geen 'totaal' en zegt steeds dat het "0" is.

De bedoeling is dat er een soort van kassa wordt geschreven waarbij de prijs en het aantal stuks worden ingegeven. Het te betalen bedrag voor dat artikel wordt in een groot tekstvak ernaast geplaatst. Zo worden er verschillende artikelen toegevoegd. Onderaan, bij totaal dient dan het bedrag te komen dat de klant moet betalen.

Dit is mijn code:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToevoegen.Click

' Declaratie van variabelen.

Dim aantalStuks As Integer

Dim prijs As Decimal

Dim teBetalen As Decimal

Dim totaal As Decimal

Dim Subtotaal As Decimal

' Gegevens van tekstvakken omzetten in variabelen.

prijs = CDec(txtPrijs.Text)

aantalStuks = CInt(txtAantalStuks.Text)

'Berekenen van het te betalen bedrag per artikel.

teBetalen = prijs * aantalStuks

txtTeBetalen.Text = txtTeBetalen.Text & teBetalen.ToString & vbCrLf

Do While teBetalen = prijs * aantalStuks

teBetalen = Subtotaal

Subtotaal = totaal

Loop

' Weergeven van het totaal te betalen bedrag.

txtTotaal.Text = totaal.ToString

Link naar reactie
Delen op andere sites

Waarom die loop?

Volgens je procedure is dit een oneindige loop.

Je stelt eerst teBetalen = prijs * aantalStuks en dan zet je Do While teBetalen = prijs * aantalStuks

De voorwaarde zal dus altijd vervuld zijn maar in de loop wordt de conditie niet gewijzigd en zal dus altijd vervuld blijven met als gevolg dat de loop door blijft gaan.

De loop zelf is ook niet juist gesteld.

Do While teBetalen = prijs * aantalStuks

teBetalen = Subtotaal

Subtotaal = totaal

Loop

Wat is op dit ogenblik de waarde van totaal?

Na deze instructie zal subtotaal de waarde hebben van totaal.

Doe die loop weg en tel gewoon teBetalen op bij het subtotaal en het totaal.

Link naar reactie
Delen op andere sites

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.