Ga naar inhoud

cijfer berekenen


Aanbevolen berichten

Ik heb 3 strings, x1, x2 en x3. X1 = aantal goede antwoorden X2 = aantal foute antwoorden X3 = totaal aantal beantwoorde vragen Nu wil ik het programma een beoordeling laten geven, wat dus zou neerkomen op: Als X1 is 55% tot 70% van X3 is, is de beoordeling Voldoende. Als X1 is 71% tot 80% van X3, is de beoordeling Ruim voldoende etc Hoe kan ik dit inprogrammeren in Delphi?
Link naar reactie
In welk programmeer taal is dit? Je kan beter geen strings gebruiken, want strings zijn characters en geen getallen. Je zoekt denk ik zoiets als dit? [code:1:32f643652a] i = x1 / x3 * 100; if (i >= 55|| i <= 70) { print 'Voldoende.'; } elseif (i >= 71 || i <= 80) { print 'Ruim voldoende'; } elseif (i >= 81 || i <= 100) { print 'Hier heb je nog niks opgegeven'; } elseif (i > 100) { print 'berekening verkeerd uitgevoerd'; } else { print 'Onvoldoende'; } [/code:1:32f643652a]
Link naar reactie
Juist. Jij hebt het goed gedaan, want bij mpie zat er een klein foutje in. OR moet namelijk AND zijn. Want als ik 0 vragen goed zou hebben, dus i = 0, dan zou hij nog "Voldoende." zeggen, want i <= 70. Die X2 lijkt me een beetje overbodig, want X2 = X3 - X1. Denk je er ook aan dat je er zeker van moet zijn dat het aantal vragen geen 0 kan zijn? Want dan krijg je een deling door 0 en dan crasht je programma.
Link naar reactie
[quote:4b743fbf63="SHARK"] Denk je er ook aan dat je er zeker van moet zijn dat het aantal vragen geen 0 kan zijn? Want dan krijg je een deling door 0 en dan crasht je programma.[/quote:4b743fbf63] De enigste manier waarop je door 0 kan delen in deze functie is ook als je 0 vragen hebt beantwoord, dus 0/0 = 0 dat weet hij wel. Daar loopt ie niet op vast. Hij is bij mij iniedergeval tot nu toe nog niet vastgelopen.
Link naar reactie
Ik zou het case statement gebruiken, dat maakt de boel wat overzichtelijker. [code:1:8cc9957bf9] i =: x1 / x3 * 100; case i of: 55..70: writeln('Voldoende.'); 71..80: writeln('Ruim voldoende.'); 81..100: writeln('Hier heb je nog niks opgegeven.'); > 100: writeln('Berekening verkeerd uitgevoerd.'); else writeln('Onvoldoende'); end; [/code:1:8cc9957bf9] Edit: Foutje, geen haakjes!
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...