C++ strings, arrays,OOP.
- Strings
- Arrays
- OOP
- einde
1.1 Strings
Even een korte inleiding wat strings betreft. Strings in C++ is niet zo gemakkelijk als bijvoorbeeld in PHP of Python.
In C++ moet je aangeven hoeveel karakters je zin heeft bijvoorbeeld.
Ook dit is niet altijd nodig maar als we eenmaal verder in het script zijn aangekomen.
Nou laten we maar gelijk beginnen met een voorbeeld dan kun je zien hoe ik het bedoel.
#include <iostream> //de header voor cin, cout, cin.get en cin.getline();
#include <string.h> //de header voor strcpy, strcat en strcmp.
using namespace std; //Elke header maakt hier gebruik van.
//Dus ben jij genoodtzaakt dit ook te doen!.
int main() //de hoofd functie.
{
char string_1[80]; // de declareren met 80 karakters
cout <<"geef een waarde aan string_1 (WEL WOORDEN GEEN INTEGERS!):" <<endl <<endl; //
cin.getline (string_1,80); // cin.getline is een nieuwe die we gaan bespreken in de uitleg
cout << string_1 <<endl <<endl; //de ouput van de string!
cin.get();
return 0;
}
1.1 Uitleg
Je ziet nu een aantal veranderingen vergleken met mijn vorige c++ tutorials en dan het char gedeelte.
De nieuwe commands zijn.
cin.getline();
de header string.h
Laten we is gaan kijken naar cin.getline Normalieter is het zo dat als je een karakter declareerd met
de command cin dan kan je maar 1 letter of cijfer declareren.
Maar zoals je hieronder ziet declareren we de string met 80 karakters. dus betekent dat je 80 cijfers of letters kan ingeven.
Maar er staat dan wel 80 maar het zijn er 79 want hij telt de afsluit byte ook nog mee als teken.
cin.getline (string_1,80);
Nou om nu die karakters in te voeren in die string gebruik je het command cin.getline();
Nu gaan we het opvragen met de command cout dat op vragen kan op verschillende manieren.
Maar dat is iets voor later. maar ik kan natuurlijk wel een voorbeeldje geven.
en dat is met een for Loop.
#include <iostream> //header voor cin.get();,cout en cin
#include <string.h> // header voor strings
using namespace std;
int main() //hoofdfunctie
{
char woordje[20]="hallo wereldje"; //char woordje[20] is gedeclareerd met Hallo wereldje;
for(int i=0; i<20; i++) //hier een voorbeeld van de loop
//hier staat letterlijk int i is 0; i is kleiner als 20; verhoog var i met 1;
{
cout <<woordje[i]; //en hier vragen we de string weer op met de loop die we net gemaakt hebben.
}
cin.get(); //wacht op een willekeurige input.
return 0; //sluit het programma weer af
}
Het is zeker niet een van de makkelijkste manieren. Maar wel het mooist.LET OP!!nu zien we wel dat de string 20 karakters
kan bevatten. Maar als je eenmaal naar het programma kijkt zul je zien
dat de cursor een aantal spaties verder op staat.
Dit is zeker te verhelpen met de command strlen(); maar dat is iets voor later. Je weet nu in ieder geval
Hoe je strings moet maken. Althans dat hoop ik!
1.2 Arrays
Nu zijn we aangekomen op het gebied arrays. Arrays zijn altijd nog het meest gebruikt in bijna elke programmeertaal.
Een array moet je zien (tenminste zo zie ik het) als een grote doos waar allemaal kleinere doosjes in zitten
In die doosjes zitten briefjes met woordjes functies of getalletjes.
ok laat ik maar gelijk gaan beginnen met een voorbeeld.
#include <iostream> //header voor cout en cin
#include <stdlib.h> //header voor standard library
using namespace std;
int main()
{
int array[10]; // hier zeg ik dat ik 10 arrays wil hebben.
// je had ipv array ook een andere naam kunnen geven.
// bijv test[10].
array[0] = 1; //hier geven we array[0] de waarde 1.
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;
array[5] = 6;
array[6] = 7;
array[7] = 8;
array[8] = 9;
array[9] = 10;
cout << array[1]; // hier zeg ik dat ik de waarde van array 1 wil zien
// Geeft als resultaat 2
cin.get();
return 0;
}
Je kunt het ook nog allemaal veel makkelijker en sneller doen. Alleen is het iets minder overzichtiger.
#include <iostream> //header voor cout en cin
#include <stdlib.h> //header voor standard library
using namespace std;
int main()
{
int array[] = {1,2,3,4,5,6,7,8,9,10}; // nu past ie automatisch de groote van de array aan!
cout << array[1]; // hier zeg ik dat ik de waarde van array 1 wil zien
// Geeft als resultaat 2
cin.get();
return 0;
}
Maar als je met het bovenstaande voorbeeld werkt is het best handig om te weten hoe groot de array nou is.
En dat kun je doen met de command sizeof();
#include <iostream> //header voor cout en cin
#include <stdlib.h> //header voor standard library
using namespace std;
int main()
{
int array[] = {1,2,3,4,5,6,7,8,9,10}; // nu past ie automatisch de groote van de array aan!
int grootte = sizeof(array)/sizeof(int); //hier vraag ik naar de grootte van de array
cout <<"De array bevat "<< grootte <<" plaatsen"; //en hier laat ie het zien.
cin.get();
return 0;
}
Zo dat was dat vrij simpel toch?
1.3 OOP
Nu even een klein voorbeeldje van hoe je OOp kan toepassen in C++.
Mocht het je nou niet lukken vrees dan niet want het is niet echt iets voor een beginner.
Maar dit is nog een vrij simpel voorbeeldje.
Hier voor gebruiken we de header fstream
Ik begin gewoon met een voorbeeldje.
#include <fstream> //de header om bestanden te kunnen maken.
#include <iostream>//de header voor cin.get();
using namespace std;
int main()
{
fstream mijnbestand; //Een bestand aanmaken
mijnbestand.open("lijst.txt", ios::out);//naam van het bestand en extensie
//ios::out staat voor input-output stream out. dus met andere woorden
//slaat die dat programma op, op je harde schijf.
//in de map waar jij je script opgeslagen heb.
mijnbestand << "Hallo, dit is een tekstbestand!
Ik heb dit met een programma weg geschreven...";
//dit komt in het document te staan.
mijnbestand.close(); //deze sluit het af en zorgt dat het bestandje opgeslagen word.
cin.get();
return 0;
}
1.3 uitleg
Wat je hier boven ziet een een programmatje die een een bestandje aanmaakt dat lijst.txt heet.
en hij schrijft in dat bestand Hallo, dit is een tekstbestand! Ik heb dit met een programma weg geschreven...
Het is het proberen waard!
Maar nu de uitleg je ziet daar de header fstream staan. die header zorgt ervoor. dat je kan
verbinden met bestanden van buitenaf.
daarvoor heb je het command fstream mijnbestand; dat mijnbestand is eigenlijk alleen maar een
Variabele naam. En lijst.txt is de naam van het bestand dat aangemaakt wordt
en dat gebeurd met de command mijnbestand.open("lijst.txt", ios::out);
en dan zien we de command mijnbestand <<"bla bla bla";dit zorgt ervoor
dat de tekst in het bestand komt te staan.
dan hebben we nog mijnbestand.close();dit zorgt ervoor dat het bestand afgesloten en opgeslagen word
ALS HET BESTAND AL BESTOND WORDT HET OVERGESCHREVEN!
Ik wou nog even verder gaan op het laatste gedeelte van mijnbestand.open("lijst.txt",ios::out);
van dat ios::out zijn verschillende varianten.zie hier onder
ios::in //met deze kun je het bestand lezen
ios::out //met deze kun je in het bestand schrijven
ios::app //toevoegen aan het bestand en aan het einde beginnen met schrijven
ios::nocreate //zorgt ervoor dat het als het bestand al bestaat dat het dan niet overgeschreven word
Wil je meer van die modussen gebruiken dan scheid je die door een seperator in te voeren zo dus
mijnbestand.open("lijst.txt",ios::out | ios::nocreate); |
1.4 einde
Dit was dan alweer het einde van mijn tutorial ik hoop dat jullie er wat aan hebben gehad.zo niet pm me dan maar
© D_O Wesley vd Meer