anoniem Geplaatst: 22 juni 2007 Delen Geplaatst: 22 juni 2007 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? Quote Link naar reactie
anoniem Geplaatst: 22 juni 2007 Auteur Delen Geplaatst: 22 juni 2007 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] Quote Link naar reactie
anoniem Geplaatst: 22 juni 2007 Auteur Delen Geplaatst: 22 juni 2007 Mijn excuses, het gaat hier om programmeerprogramma Delphi 7. De strings kan ik omzetten, dus dat is verder geen probleem. EDIT: het is al gelukt met je hulp, bedankt! Ik had gewoon jou idee omgeschreven naar Delphi code. Quote Link naar reactie
anoniem Geplaatst: 22 juni 2007 Auteur Delen Geplaatst: 22 juni 2007 ah vet :D met if .. then ... || wordt or etc. Quote Link naar reactie
anoniem Geplaatst: 22 juni 2007 Auteur Delen Geplaatst: 22 juni 2007 Heb het gedaan met if... then... [code:1:6786946c2f] i = x1 / x3 * 100 if (i >= 0) and (i <=20) then beoordeling.caption := 'Extreem slecht';[/code:1:6786946c2f] Zo :) Quote Link naar reactie
anoniem Geplaatst: 23 juni 2007 Auteur Delen Geplaatst: 23 juni 2007 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. Quote Link naar reactie
anoniem Geplaatst: 23 juni 2007 Auteur Delen Geplaatst: 23 juni 2007 [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. Quote Link naar reactie
anoniem Geplaatst: 23 juni 2007 Auteur Delen Geplaatst: 23 juni 2007 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! Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen