2.5.5 Ketjutetut ehtolauseet

Jos muuttujalla tai lausekkeella on olemassa useampia toisensa poissulkevia vaihtoehtoja, voidaan ehtolauseet ketjuttaa sijoittamalla else-lauseeksi uusi ehtolause. Ketjutettu ehtolause on muotoa

if (ehto1)
  lause1;
else if (ehto2)
  lause2;
else if ...
  lauseN;

Esimerkiksi tutkittaessa ika-muuttujan sisältöä, voidaan käyttää ketjutettua ehtolausetta:

if (ika < 17)
  cout << "Alaikäinen." << endl;
else if (ika == 17)
  cout << "Aikuisuuden kynnyksellä." << endl;
else if (ika < 64)
  cout << "Aikuinen immeinen?" << endl;
else if (ika == 64)
  cout << "Eläkeikä häämöttää." << endl;
else
  cout << "Mahdollinen eläkeläinen." << endl;

Poissulkevuus tarkoittaa tässä tapauksessa sitä, että heti ensimmäisen toteutuvan ehdon jälkeen jätetään sen jälkeiset ehdot tarkistamatta. Muuttujan ika tapauksessa tämä tarkoittaa sitä, että luvun ollessa alle 17 tulostetaan teksti "Alaikäinen." ja hypätään suoraan seuraavien else-lauseiden yli.

Luvun ollessa 17 tutkitaan ensin ehto (ika < 17), ja koska se ei toteudu, siirrytään seuraavaan ehtoon (ika == 17), joka toteutuu. Näytölle tulee teksti "Aikuisuuden kynnyksellä." ja ohjelman suoritus hyppää loppujen else-lauseiden yli.

Miten monta ehtolausetta joudutaan tutkimaan iän ollessa 66? Montako ehtolausetta tutkitaan iän ollessa 5?