[Structorizer/Lazarus]Opgave inkomsten / uitgaven

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey,

Ik heb een opgave die ik graag wil uitwerken via het programma Structorizer. Hierin kun je PSD''s maken om ze nadien te testen in Lazarus (Pascal).

De opgave:

Vraag de gebruiker om een karakterreeks in te voeren. Die ziet er bijvoorbeeld alsvolgt uit:
0302*-1500
De karakters 03 en 02 verwijzen naar de dag en de maand.
Nadien volgt een sterretje * met daarna een bedrag.
In dit geval gaat het om een negatief bedrag van 1500. Dit bedrag kan ook positief zijn waardoor er dus een + voor het bedrag komt te staan. Het bedrag is telkens een reeks van 4 karakters.
De invoer stopt als er een sterretje * ingegeven wordt.
Zorg er dus eerst voor dat de invoer correct is. In deze oefening gaan we ervan uit dat het bedrag bestaat uit cijfers.
De maanden in het jaar bestaan uit 31 dagen. We laten een schrikkeljaar niet meetellen, de maand februari bevat 28 dagen.
We willen een uitvoer zien die bestaat uit 3 tabellen.
De eerste tabel is een overzicht van de inkomsten. Inkomsten op dezelfde dag worden bij elkaar opgeteld. We willen ook het totaal weten per maand.
In de tweede tabel doen we hetzelfde maar dan voor de uitgaven.
In de derde tabel komt alle foutieve invoer te staan.

Tot dusver heb ik de string-controle op 'papier' en dit werkt allemaal goed. Nu zou ik dus nog 2 tabellen moeten realiseren met de overzichten en eentje met slechte invoer. Ik weet dat ik voor de overzichtstabellen mutidimensionale tabellen moet maken en dat zal me ook wel lukken vermoed ik.

Waar ik vooral mee worstel is de slechte invoer.
Ik neem aan dat ik een dynamische array moet aanmaken om deze af te printen? Heb al vanalles geprobeerd, zonder succes.

Hier zie je wat ik totnutoe heb:

https://postimg.org/image/z7ms1lsdl/
https://postimg.org/image/om2wplm21/

Is er iemand die me weer wat op weg kan helpen en/of me in grote lijnen kan uitleggen wat ik zou moeten doen? Alle tips zijn welkom!!

Alvast super bedankt!

Alle reacties


Acties:
  • 0 Henk 'm!

  • ard1998
  • Registratie: December 2015
  • Laatst online: 09-06 19:59
alseerst, welkom op ons forum, ik zie aan je profiel dat je hier vandaag nieuw ben :)

ik wil je graag vragen om bij het openen van je volgende topic in de devschuur de volgende link inachterhoofd te houden *** Over topictitels in PRG - lezen voor topic openen!!! *** Ik vind de topictitel aan de vage kant.
Verwijderd schreef op maandag 14 november 2016 @ 18:49:
De opgave:

Vraag de gebruiker om een karakterreeks in te voeren. Die ziet er bijvoorbeeld alsvolgt uit:
0302*-1500
De karakters 03 en 02 verwijzen naar de dag en de maand.
Nadien volgt een sterretje * met daarna een bedrag.
In dit geval gaat het om een negatief bedrag van 1500. Dit bedrag kan ook positief zijn waardoor er dus een + voor het bedrag komt te staan. Het bedrag is telkens een reeks van 4 karakters.
De invoer stopt als er een sterretje * ingegeven wordt.
Zorg er dus eerst voor dat de invoer correct is. In deze oefening gaan we ervan uit dat het bedrag bestaat uit cijfers.
De maanden in het jaar bestaan uit 31 dagen. We laten een schrikkeljaar niet meetellen, de maand februari bevat 28 dagen.
We willen een uitvoer zien die bestaat uit 3 tabellen.
De eerste tabel is een overzicht van de inkomsten. Inkomsten op dezelfde dag worden bij elkaar opgeteld. We willen ook het totaal weten per maand.
In de tweede tabel doen we hetzelfde maar dan voor de uitgaven.
In de derde tabel komt alle foutieve invoer te staan.
een paar vragen
- worden de psd's geschreven met bepaalde doel programmeerta(a)l(en) in het achterhoofd?
- moeten de gegevens permanent opgeslagen worden?
Verwijderd schreef op maandag 14 november 2016 @ 18:49:
Ik neem aan dat ik een dynamische array moet aanmaken om deze af te printen? Heb al vanalles geprobeerd, zonder succes.
wat bedoel je met "vanalles"? helaas kan mijn glazen bol mij niet vertellen wat je geprobeerd hebt ;)

voor de rest wil ik je wat advies geven.

- probeer de alle invoer onder elkaar te hebben voordat je het gaat controleren.

- probeer het gebruiksvriendelijk te maken, als je de invoer verdeelt over de volgende drie vragen maak je het makkelijker voor jezef en voor de gebruiker
1. wat is de dag?
2. wat is de maand?
3. om welk bedrag gaat het?
voor vraag 3 kan je de eerste character controleren op of het een getal, + of - is in het eerste geval stel je de vraag opnieuw, in de tweede geval is het en inkomste en in het derde geval een uitgave.

misschien kan je een loop maken die zich zelf herhaalt zolang de invoer incorrect is zodat de vragen herhaald blijven worden totdat er een correcte invoer is.