Met if/else statements kunnen we sturen welke delen van ons programma worden uitgevoerd. Codevoorbeelden 5.1, 5.2 en 5.3 laten de werking van if/else statements zien.
#include <iostream>
using namespace std;
int main(){
int x = 6;
if(x > 3) {
x = 8;
}
cout << "x: " << x << "\n";
// x: 8
char y = 'A';
if(y == 'K'){
y = 'H';
}
cout << "y: " << y << "\n";
// y: A
char z = 'J';
if(z == 'H' || z == 'J' || z == 'Q'){
z = 'C';
}
cout << "z: " << z << "\n";
// z: C
int a = 8;
if(true){
a++;
}
cout << "a: " << a << "\n";
// a: 9
}
Codevoorbeeld 5.1 - if-statements
Codevoorbeeld met if-else-statements:
#include <iostream>
using namespace std;
int main(){
float b = 1.3;
if(b != 1.3){
b = 4.43;
}else{
b = 6.23;
}
cout << "b: " << b << "\n";
// b: 6.23
int c = 12;
string r;
if(c < 10){
r = "9 or smaller";
}else if(c < 15){
r = "between 9 and 15";
}else{
r = "15 or larger";
}
cout << "r: " << r << "\n";
// r: between 9 and 15
}
Codevoorbeeld 5.2 - if/else statements
In C++ staat bij de if-statement de conditie altijd tussen ronde haakjes. Het weglaten van deze haakjes resulteert in een compile-error.
Het combineren van een else en een if statement doen we in C++ door deze twee
statements op één lijn te zetten. Bijvoorbeeld:
else if(c < 15) {
in codevoorbeeld 5.2.
Een conditie kan gelden binnen een andere conditie: een if-statement kan voorkomen binnen een ander if-statement. Dit noemen we een genest if-statement of nested if-statement.
#include <iostream>
using namespace std;
int main(){
int d = 62;
if(d > 0 && d < 100){
if (d % 2 == 1){
d = 50;
}
d = d * 2;
}
cout << "d: " << d << "\n";
// d: 124
}
Codevoorbeeld 5.3 - genest if-statement (if in if)