cyklus switch

SWITCH není cyklus, ale násobné rozhodování (vlastně několikanásobný IF).
Příklad asi napoví víc :

.
.
.
if (PROMENNA==0)
{
  Provádí;
  se;
  akce;
  pro;
  proměnná=0;
}
if (PROMENNA==1)
{
  Provádí;
  se;
  akce;
  pro;
  proměnná=1;
}
if (PROMENNA==2)
{
  Provádí;
  se;
  akce;
  pro;
  proměnná=2;
}
if (PROMENNA==3)
{
  Provádí;
  se;
  akce;
  pro;
  proměnná=3;
}
if (PROMENNA==4)
{
  Provádí;
  se;
  akce;
  pro;
  proměnná=4;
}
.
.
.

a tady je totéž pomocí SWITCH :

.
.
.
switch (PROMENNA)
{
    case 0:  Provádí;
             se;
             akce;
             pro;
             proměnná=0;
             break;

    case 1:  Provádí;
             se;
             akce;
             pro;
             proměnná=1;
             break;

    case 2:  Provádí;
             se;
             akce;
             pro;
             proměnná=2;
             break;

    case 3:  Provádí;
             se;
             akce;
             pro;
             proměnná=3;
             break;

    case 4:  Provádí;
             se;
             akce;
             pro;
             proměnná=4;
             break;

    case 5:  Provádí;
             se;
             akce;
             pro;
             proměnná=5;
             break;

    default: Provádí;
             se;
             akce;
             pro;
             všechny;
             ostatní
             hodnoty;
             break;
}
.
.
.

příkaz BREAK je nutný, jinak se bude provádět vše, co je dál. Tedy pokud je proměnná 3, provede se akce pro proměnnou 3 a kdyby tam nebyly ty BREAKy, tak se provede i 4, 5 a default. Položka default není povinná. Pokud tam nebude, neprovede se v ostatních případech nic. Rozdíl je jednak v přehlednosti zápisu, ale hlavně v tom, že v případě IFů se proměnná vyhodnocuje při každé podmínce (provádí se každý IF zvlášť), v případě SWITCHe se proměnná vyhodnocuje pouze jednou.

Takže pokud zvládneš zapsat podmínku do IF, zvládneš zapsat i podmínku do SWITCHe.