# 1. Programmeren, hoe te beginnen?

### **Eerste C++ programma**

**Opdracht 1.1**\
We beginnen met een opdracht om de code compleet te maken:&#x20;

{% embed url="<https://view.genially.com/683574ebdc0485097b9509cc>" %}

In de opdracht hierboven heb je een eerste C++ programma gezien, hieronder wordt dit meer uitgelegd:

* De code staat in de functie `main()`. Alle code tussen de accolades `{` en `}` behoort tot de functie main. Het einde van de functie main is `return 0;`
* Met het commando cout kun je tekst naar het scherm schrijven. In dit geval schrijven we de tekst “Hallo Allemaal”. `cout` is de afkorting van *character out*. Bij de cout gebruik je de << om de items te scheiden.&#x20;
* Elke regel in C++ wordt afgesloten met een `;`

Zie regel 1 en 2 van het C++ programma als commando's waarmee je programma altijd begint, je hoeft nog niet precies te snappen wat ze betekenen:

* `#include <iostream>` importeert de library voor input en output functies. Dit zorgt ervoor dat het commando cout kan gebruiken.
* `using namespace std;` sommige functies staan in de standaard library van C++, deze heet std. Met deze regel kun je deze functies zonder std:: ervoor te typen

### **Variabelen**

**Opdracht 1.2**\
We zijn klaar voor de volgende opdracht:&#x20;

{% embed url="<https://view.genially.com/68357aabdc0485097b9e9984>" %}

In vorige opdracht heb je de variabele naam gebruikt. Variabelen worden gebruikt om gegevens op te slaan. Deze opgeslagen gegevens kan je dan weer in je code gebruiken.

Een variabele heeft drie eigenschappen:&#x20;

1. Elke variabele heeft een naam. In bovenstaand voorbeeld is dat naam.
2. Je kunt variabele een waarde geven.  In bovenstaand voorbeeld is dat "Nushi".
3. Een variabele moet altijd een datatype hebben. Het datatype bepaalt wat voor soort gegevens je kunt bewaren. Om getallen op te slaan gebruikt C++ bijvoorbeeld aan ander datatype dan om tekst op te slaan. Je moet C++ van te voren vertellen wat voor (data)type een variabele is. Dit noemen we declareren. In bovenstaand voorbeeld deden we dit met de code: `string naam;` In een variabele van het type string kunnen we teksten opslaan. Teksten staan in C++ altijd tussen de " ".

### cin

**Opdracht 1.3**\
We gaan nog een stapje verder in de volgende opdracht:&#x20;

{% embed url="<https://view.genially.com/683572f4dc5650afcfe3ccca>" %}

Met de opdracht `cin` kun je invoer van het toetsenbord lezen. De input van de gebruiker kan je dan opslaan in een variabele. Cin is de afkorting van character in. Bij de cin gebruik je de >> om de items te scheiden.&#x20;

### Compiler

De juiste code van de vorige opdracht was:

```cpp
#include <iostream>
using namespace std;

int main() {
  string naam;     
  cout << "Wat is je naam?" << endl;    
  cin >> naam;                  
  cout << "Welkom " << naam;    
  return 0;
}   
```

**Opdracht 1.4** \
Nu gaan we onze eerste code runnen. Hiervoor hebben we een compiler nodig.

* Ga naar <https://www.onlineide.pro/playground/c++>
* Kopieer bovenstaande code in de editor aan de linkerkant. Als er al code staat dan kan je deze verwijderen.
* Je kan je programma runnen met de knop <img src="/files/7TgSNIp6tnHgWHXqW8U2" alt="Knop: &#x22;Run&#x22;" data-size="line">
* In de console aan de rechterkant zie het resultaat van je programma.

{% hint style="info" %}
Endl staat voor endline en zorgt ervoor dat de volgende zin netjes op de volgende regel komt.&#x20;
{% endhint %}

**Opdracht 1.5**\
Schrijf een programma dat de gebruiker om drie ijssmaken vraagt. Als uitvoer geeft je programma een zin waarin deze 3 smaken zijn verwerkt.&#x20;

Bijvoorbeeld:\
"Ijsjes met de bolletjes **vanille**, **aardbei**, en **chocolade** zijn de lekkerste die er zijn!"<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://girls.gitbook.io/c++-cursus/leer-de-basis-van-programmeren/1.-programmeren-hoe-te-beginnen.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
