Programmeren in C/File handling
Wordt nog aan gewerkt.
Gegevens in- en uitvoer
bewerkenTot nu toe is er alleen gewerkt met vooraf ingestelde constanten en variabelen. Voor een doelmatig gebruik van een programma is het noodzakelijk dat er door de gebruiker gegevens ingevoerd kunnen worden. Vervolgens kan het programma met de gegevens het gewenste resultaat aan de gebruiker tonen. Programma's kunnen hun gegevens op verschillende manieren aan de gebruiker ter beschikking stellen. Het beeldscherm, de printer en een bestand op de hardeschijf zijn enkele mogelijkheden.
1: /* Eenvoudig in en uitvoer programma. */ 2: 3: #include <stdio.h> 4: #include <conio.h> 5: 6: main() 7: { 8: int getal_1, getal_2, som; /* Integer declaraties */ 9: char zin[]; /* Declaratie tekstregels met 79 karakters */ 10: 11: printf("\nGeef eerste getal "); 12: scanf("%d",&getal_1); /* Inlezen getal 1 */ 13: printf("\nHet eerste getal is %d\n\n", getal_1); 14: printf("\nGeef tweede getal "); 15: scanf("%d",&getal_2); /* Inlezen getal 2 */ 16: printf("\nHet tweede getal is %d", getal_2); 17: som = getal_2 + getal_1; /* Berekening van de som */ 18: printf("\n\nDe som is %d", som); 19: fflush(stdin); 20: printf("\n\nGeef een regel tekst.\n\n"); 21: gets(zin); 22: printf("\n\nDe regel die u invoerde;\n"); 23: printf("\n%s\n", zin); 24: fflush(stdin); 25: printf("\n\n\nDruk op een toets...\n"); 26: getch(); /* Getch() wacht op een enkel karakter */ 27: }
- programma 7.1**
Bovenstaand programma laat zien dat het mogelijk is om getallen en tekens van de gebruiker te verkrijgen en deze voor verdere bewerkingen als een integer of character-string in het programmageheugen op te slaan.
De functie 'scanf()' biedt de mogelijkheid om een string (een reeks van tekens) vanaf het toetsenbord in te lezen. Het voordeel van deze opdracht is, de mogelijkheid om er verschillende datatypen toe te wijzen. In dit geval wordt er een integer-type aan toegewezen. Een uitleg over deze opdracht wordt gegeven in de help functie van de Pacific C-compiler. Meer informatie over deze opdracht is te vinden in de betere C-programmeer boeken. Op dit moment is het alleen noodzakelijk te weten dat de mogelijkheid bestaat.
Met de functie 'gets(zin)' wordt een string vanaf het toetsenbord ingelezen en toegewezen aan een variabele van het datatype character. De invoer vanaf het toetsenbord wordt door de computer gebufferd. Hierdoor is het mogelijk om een aantal karakters in te geven die pas later door het programma worden opgevraagd. Hierdoor kan het voorkomen dat er restanten van vorige opdrachten in de buffer aanwezig blijven. Om dit probleem op te lossen kan de opdracht 'fflush(stdin)' toegevoegd worden aan het programma. 'stdin' staat hier voor de standaard invoer mogelijkheid welke meestal het toetsenbord is.
De functie printf() biedt de mogelijkheid om verschillende gegevens op het scherm zichtbaar te maken. De tekst tussen " en " wordt direct op het scherm afgedrukt. De taal C biedt de mogelijkheid om een escape-reeks aan de functie printf() mee te geven. Dit biedt de mogelijkheid om naar een volgende regel te gaan of een tab. De escape reeks wordt vooraf gegaan met het teken '\'. Enkele escape mogelijkheden;
Teken | Betekenis | |
---|---|---|
\b | Backspace | Cursor 1 plaats naar links. |
\f | formfeed | Hiermee wordt een pagina overgang gecreëerd. |
\r | return | Cursor wordt teruggeplaatst naar het begin van de huidige regel. |
\t | tab | De cursor verplaatst zich naar de volgende
tabpositie. |
\n | newline | Zet de cursor op de volgende regel. |
\\ | - | Druk een backslash af |
Tevens kan er gebruik worden gemaakt van de reserverings-tekenparen. Deze bieden de mogelijkheid om een variabele of constante zichtbaar te maken en kenmerken zich altijd door een %-teken gevolgd door een letter. Door vervolgens achter het de dubbele aanhalingstekens, voorafgaande aan een komma, de variabele of constante te vermelden is het mogelijk om het resultaat af te drukken. Het is echter wel noodzaak dat bij de juiste declaratie het juiste tekenpaar wordt gebruikt.
Teken | Betekenis |
---|---|
%i | integer |
%d | integer |
%f | floating point |
%c | enkel teken |
%s | string(tekenreeks) |