Details…


Nog wat voorbeelden van for lussen, en wat je er mee kunt aanvangen. En verder nog een woordje over constanten, en iets over speciale karakters in C++.

Een voorbeeld van het programma in actie:

Nog wat fun met for lussen.

Nog wat fun met for lussen.

De code:

Functie main van prject_1.7;

Functie main van prject_1.7;

Op lijn tien zien we iets nieuws: “\n” op het einde van de string (tekst) in de cout instructie: “Optellen:\n”. Dit (die “\n” dus) is een controlekarakter. Dit zorgt voor een nieuwe lijn, en doet dus hetzelfde als endl, wat we in vorige programma’s gebruikten.

Er zijn nog meer van die controlekarakters of escapesequences zoals ze in ‘t engels heten. Een paar andere zijn \t (tab), \a (beep, een pieptoon), \r (carriage retrun), \b (backspace), …

Een backslash (\ dus) voor een karakter zetten maakt er een “escaped” karakter van. Op die manier kun je ook aanhalingstekens in een tekst krijgen. Bijvoorbeeld: cout << “Hij zei: \”hallo!\”.”

Op lijnen 11 en 12 zien we een for blok. Maar eigenaandig genoeg zien we geen haakjes ({}). Als er slechts 1 instructie voorkomt in het for blok, zijn de haakjes niet verplicht. Het is echter een goede gewoonte om ze toch te zetten. Dat is doorgaans duidelijker. Er zijn nog wat andere instructies waar dat ook lukt, zoals een if instructie. Maar herinner u, slechts de eerste opdracht na de instructie behoort tot het instructieblok. Als u meerdere instructies witl uitvoeren (zoals lijn 26 & 27), dan dient u wel degelijk de haakjes te gebruiken. Maak het uzelf makkelijk en gebruik ze altijd.

Nog op lijn 11 zien we ++i staan in de for instructie. Dat doet in essentie hetzelfde als i++. Er is echter wel degelijk een verschil: staat de + of – voor de variabele, dan wordt die eerst gewijzigd (respectievelijk +1 of -1), staat de + of – na de variabele, dan wordt die nadien gewijzigd (dus weer + of – 1).

Probeer volgend stukje code maar eens uit:

int voor = 10;
int na = 10;
int som1 = 5 + na++;
int som2 = 5 + ++voor;
cout << som1 << endl;
cout << som2 << endl;

De variabele som1 bevat 15 (en de variabele na bevat 6), maar de variabele som2 bevat 16 (en de variabele voor bevat 6). Bij som2 werd dus eerst de variabele voor met ééntje verhoogd, en werd dan pas de optelling gedaan. Bij som1 was er eerst de optelling, en pas daarna werd de variabele na met ééntje verhoogd. Dit is een bron van veel subtiele fouten in programma’s. Hou dit in het achterhoofd!

Lijn 24 bevat null statements. U merkt dat niet alles in de for lus ingevuld werd. Dit werkt, maar is ook een niet zo duidelijke constructie. Ook een afrader.

Op lijnen 31 & 32 definiëren we 2 constanten, met het keyword “const”. Constanten zijn wat de naam zegt: constant. Men kan ze 1 keer definiëren, en men moet ze meteen een waarde geven. De constanten kunnen daarna niet meer gewijzigd worden. Constanten zijn vooral handig om grenzen aan te geven, of een aantal waarden vooraf te definiëren die verder in het programma gebruikt worden (een voorbeeld zou kunnen zijn: const double PI = 3.1415926). Door dergelijke waarden als constanten de definiëren voorkomt men dat ze per ongeluk gewijzigd worden in de loop van het programma (door een programmeerfout).

U kunt de code hier downloaden.

Vragen kunnen gesteld worden op het forum – op het C++ board.

Opdracht

  • Maak een nieuw project aan, met daarin een file “main”. Noem het “project_1.7”.
  • Typ het programma over en compileer.
  • Pruts er wat mee. 🙂
Advertisements

About justtheengineer

Ingenious engineer, slightly dotty...
This entry was posted in Cursus and tagged , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s