09.01.2014 Views

HANDLEIDING PROGRAMMEREN (5e kwartaal natuur- en ...

HANDLEIDING PROGRAMMEREN (5e kwartaal natuur- en ...

HANDLEIDING PROGRAMMEREN (5e kwartaal natuur- en ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

30 HOOFDSTUK 3: De programmeertaal C 30<br />

of toevoeg<strong>en</strong>.<br />

- Geformatteerd kan er gelez<strong>en</strong> <strong>en</strong> geschrev<strong>en</strong> word<strong>en</strong> door aanroep van: fscanf <strong>en</strong> fprintf.<br />

Deze functies hebb<strong>en</strong> als extra eerste argum<strong>en</strong>t de file id<strong>en</strong>tifier.<br />

- Tekst<strong>en</strong> (strings, dus) kunn<strong>en</strong> met speciale functies gelez<strong>en</strong> <strong>en</strong> geschrev<strong>en</strong> word<strong>en</strong>: fgets <strong>en</strong> fputs.<br />

- Files word<strong>en</strong> geslot<strong>en</strong> door aanroep van functie fclose.<br />

Zie app<strong>en</strong>dix B van deze handleiding.<br />

3.9 Structures<br />

Met arrays word<strong>en</strong> elem<strong>en</strong>t<strong>en</strong> van hetzelfde type aan elkaar gekoppeld. Maar het is ook wel e<strong>en</strong>s handig om<br />

datastructur<strong>en</strong> te gebruik<strong>en</strong> die per elem<strong>en</strong>t e<strong>en</strong> aantal variabel<strong>en</strong> van hetzelfde of van verschill<strong>en</strong>d type bevatt<strong>en</strong>.<br />

Dit is mogelijk door de declaratie van nieuwe typ<strong>en</strong>, de zog<strong>en</strong>aamde structures. E<strong>en</strong> structure heeft één of meer<br />

members of veld<strong>en</strong>, die e<strong>en</strong> eerder gedefinieerd type hebb<strong>en</strong>. Zie hoofdstuk 6 van [1].<br />

Voorbeeld van declaratie <strong>en</strong> gebruik van e<strong>en</strong> structure (in dit geval met twee veld<strong>en</strong> van hetzelfde type):<br />

#include <br />

struct point /* globale declaratie van structure van type ’struct point’ */<br />

{ int x; /* eerste veld of ’member’ van structure */<br />

int y; /* tweede veld of ’member’ van structure */<br />

};<br />

int main ()<br />

{<br />

/* declaratie van variabel<strong>en</strong> van type ’struct point’ */<br />

struct point hoekpunt<strong>en</strong>Driehoek[3];<br />

struct point hoekpunt<strong>en</strong>Vierhoek[4] = {{-1, 0,}, {0, 2,}, {1, 0,}, {-1, 0}};<br />

int teller;<br />

/* adresseer afzonderlijke veld<strong>en</strong> van de array-elem<strong>en</strong>t<strong>en</strong> */<br />

hoekpunt<strong>en</strong>Driehoek[0].x = -1;<br />

hoekpunt<strong>en</strong>Driehoek[0].y = 0;<br />

hoekpunt<strong>en</strong>Driehoek[1].x = 1;<br />

hoekpunt<strong>en</strong>Driehoek[1].y = 0;<br />

hoekpunt<strong>en</strong>Driehoek[2].x = 0;<br />

hoekpunt<strong>en</strong>Driehoek[2].y = 1;<br />

printf ("Hoekpunt<strong>en</strong> van driehoek:\n");<br />

/* print array-elem<strong>en</strong>t<strong>en</strong> stuk voor stuk */<br />

for (teller=0; teller

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!