if-else-satser

Ibland kan det vara praktiskt att kunna utföra en del av ett program om en if-sats evaluerats till false, d.v.s. om den har inte utförts. Det är förstås möjligt att skriva en andra if-sats som kontrollerar det negerade uttrycket jämfört med den första, men det hela kan göras lättare genom att skriva en else-del till if-satsen i fråga. Denna else-del utförs endast om if-satsen evaluerades till false. Den allmänna formen är:

if ( villkor )
    sats1;
else
    sats2;

I en if-sats garanteras att antingen if-delen eller else-delen utförs, aldrig båda eller ingendera. Ett exempel med talet 27 som fanns tidigare kunde bli:

// ge en variabel Tal ett värde
int Tal;
cin >> Tal;
if ( Tal == 27 ) {
    // talet var 27
    cout << "Talet var 27!\n";
}
else {
    // talet var inte 27
    cout << "Talet var inte 27!\n";
}

Det går även att kombinera ihop flera if-satser med varandra för att åstadkomma en lång rad olika fall. Det hela belyses bäst med ett exempel:

// ge en variabel Tal ett värde
int Tall;
cin >> Tal;
if ( Tal < 20 ) {
    // talet är mindre än 20
    cout << "Talet är mindre än 20!\n";
}
else if ( Tal < 25 ) {
    // talet är mindre än 25, man större eller lika med 20
    cout << "Talet är större eller lika med 20, men mindre än 25!\n";
}
else {
    // talet är större eller lika med 25
    cout << "Talet är större eller lika med 25!\n";
}

Exemplet ovan är kanske inte så speciellt realistiskt, men illustrerar hur en ny if-sats inkluderats i else-delen av en annan sats. Den sista else-delen utförs endast om inget av de ovanstående villkoren uppfyllts.