# 3. Keuze

Om een keuze te kunnen programmeren wordt in C++ het if-statement gebruikt.

```cpp
if (voorwaarde) {
      code
} 
else {
     code
}
```

De *voorwaarde* in een if-statement is een klein stukje programma dat *waar* of *niet waar* kan zijn. Als voorbeeld bekijken we een programma waarin je een variabele *getal* van het type integer hebt gedefinieerd, en als voorwaarde stelt *getal < 10*. Als *getal* dan bijvoorbeeld de waarde 9 heeft,  levert de voorwaarde *getal < 10* als uitkomst *waar* op. Maar als *getal* de waarde 12 heeft, dan is het resultaat van de voorwaarde *niet waar*. In C++:

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

int main() {
  int getal;                
  cout << "Voer een getal in: " << endl;      
  cin >> getal;                  
  if (getal < 10) {
    cout << "Het getal is kleiner dan 10" << endl;
  }
  else {
    cout << "Het getal is groter of gelijk aan 10" << endl;
  }
  return 0;
}
```

Als de voorwaarde *waar* oplevert dan wordt de code in het eerste gedeelte uitgevoerd. In het voorbeeld is dat het geval als *getal < 10*. Als er een *else* gedeelte is dan wordt dat alleen uitgevoerd als de voorwaarde niet waar oplevert. Het *else* gedeelte is niet verplicht, je kunt het weglaten als je het niet nodig hebt.

De operatoren die je bij voorwaarde kan gebruiken zijn:

* `==` (gelijk)
* `!=` (ongelijk aan)
* `>` (groter dan)
* `<` (kleiner dan)
* `>=` (groter dan of gelijk aan)
* `<=` (kleiner dan of gelijk aan)

**Opdracht 3.1**\
Schrijf een programma dat de afstand naar school inleest en als uitvoer geeft of je kan lopen of met de fiets moet. Bedenk zelf welke afstand je groot genoeg vind om niet meer te willen lopen.

Het is mogelijk om meerdere if-statements achter elkaar te schrijven.

```cpp
if (voorwaarde1) {
     //Als voorwaarde1 waar is
} else if (voorwaarde2) {
     //Als voorwaarde1 niet waar is en voorwaarde2 wel waar is
} else { 
     //Als voorwaarde1 en voorwaarde2 niet waar zijn
}
```

**Opdracht 3.2**\
Voeg de optie bus toe aan het programma van de vorige opgave. Bedenk zelf welke afstand je groot genoeg vind om niet meer te willen fietsen.

**Opdracht 3.3**\
Maak de opdracht [3 integers](https://informatica.cuttle.org/?action=question_standalone\&que_id=205\&t=ddbbe537a99c648f)

Het is mogelijk om meerdere if-statements in elkaar te schrijven. Dit noemen we nesting.

```cpp
if (getal1 < 10) {
    if (getal2 < 10) {
         cout << "getal1 en getal2 zijn beide kleiner dan 10";
     }
}
```

**Opdracht 3.4**\
Maak de opdracht [Schrikkeljaar](https://informatica.cuttle.org/?action=question_standalone\&que_id=39\&t=a3e0651514dd3166)\\
