www.amapro.cz & David Bazala [Programování]

Otevře webové stránky AmaPro


Otevře hlavní stránku společnosti AmaPro
Internetové stránky určené pro studenty středních a vysokých odborných škol.


amapro.cz/odkazy Projekt eliminuje vyhledávání klíčových slov na komerčních stránkách a v e-schopech.



Nový projekt AmaPro

 

case

 

Příkaz case se používá jako návěstí pro větvení programu v těle příkazu switch. Příkaz case musí být uzavřen v bloku (ve složených závorkách) a funkčně připadá prvnímu nadřazenému switch. Za přikazem case se píše konstanta, která reprezentuje hodnotu pro porovnání se vstupním parametrem switch. Konstanta musí být celočíselná a jedinečná v daném těle switch. Např. case ‘a‘ nebo case 98.

 

case konstanta: příkaz1; příkaz2;….příkazN;break;

 

 Konstanta je alokována jako int na jedné adrese. Lze k  ní přistupovat i jako char o velikosti 1 Byte s využitím int hodnot prezentujících znaky ASCII pro I/O funkce. POZOR: do parametru case nelze vkládat proměnná, vždy jen konstanta.

 

Úplná konstrukce case:

 

switch (výraz)

{

case hodnota1:příkaz1;příkaz2,….příkazN;break;

case hodnota2:příkaz1;příkaz2,….příkazN;break;

case hodnota3:příkaz1;příkaz2,….příkazN;break;

default:příkaz1;příkaz2,….příkazN;break;

}

 

Příkaz case se výhradně používá s příkazem switch, který vytváří hlavu přepínače a následně je nutné i tělo přepínače. V tomto příkazovém bloku jsou tvořeny větve case, které jsou ukončeny příkazem break. Příkaz break není syntaxně povinný, ale určuje logiku přepínání. Taktéž příkaz default není povinný. Jeho úkolem je vytvořit větev v případě, že neexistuje shoda s case.

 

PŘÍKLAD: case_1

int Q=99;                                              //deklarace a inicializace int dle ASCII 'c'

switch (getchar())                               //vstupní výraz switch volá vstup z klávesnice

    {                                                         //začátek těla přepínače

    case 'a':for(int i=0;i<10;i++)           //konstanta definovaná jako char

                        cout<<i*i;                    //výstup na obrazovku

             break;                                       //ukončení větve pro 'a'

    case 98:for(int i=0;i<10;i++)          //konstanta definovaná jako int

                        cout<<i+i;                    //výstup na obrazovku

             break;                                       //ukončení větve pro 'b'

    case Q :for(int i=0;i<10;i++)          //NELZE: nelze definovat proměnnou

                        cout<<i;                        //výstup na obrazovku

             break;                                       //ukončení větve pro 'c'

    }                                                         //konec těla přepínače

while(getchar()!='e');                          //čekání na stisk 'e'

return 0;                                                //opuštění konzolové aplikace

 

Program deklaruje a inicializuje proměnnou Q jako int a nastavuje jej na hodnotu 99, která má dle ASCII představovat ‘c‘. Vstupní hodnota pro switch je dána přímo voláním funkce getchar() pro vsup z klávesnice. Getchar() vrátí celé číslo z hodnoty znaku, což příkazu switch vyhojuje. Pracuje s ním ovšem jako s int. Dále se běh programu dostává do těla switch, kde dochází k porovnávání hodnoty z klávesnice s konstantami v case. Stiskeme-li klávesu  „a“, generuje se int 97, což je char ‘a‘ a ve výsledku porovnání vyhovuje case ‘a‘, což způsobí, že program pokračuje touto větví cyklem for. Po ukončení cyklu for dojde na příkazu break k ukončení těla switch. Konstantu case 98 lze také zadat a je platná pro klávesu ‘b‘. Ovšem formulace case Q, je nepovolená a ty i když jsme nastavili Q jako int a na hodnotu 99. Jako parametr case nesmí být proměnná !

POZNÁMKA: Pro bezchybnou kompilaci zaměňte case Q za case 99.

 

 



Abecední seznam všech článků Vyhledání pojmů ve článcích




Odkazník o programování
Rejstřík klíčových slov pro programování ve vyhledávačích.
programovani/programovani.php
Databáze ikon
Ikony a malé obrázky pro tlačítka či jiné použití
datove_zdroje/icony/icony.php
JavaScript - ukázky
Příklady užití některých často používaných efektů na stránky.
katalogy/javascript
Animované obrázky
Animované gify a malé obrázky pro všeobecné využití.
datove_zdroje/animace
Objektové programování c++
Jazyk C, Objektové programování c++
internet/katalog_programovani_c
Weby o programování
Odkazy na velké servery o programování a vývoji SW
odkazy/programovani
Procesory a mikroprocesory
Obecný úvod do základů mikroprocesorové techniky, architektury počítačů
knihy/mikroprocesory/obsah_mikro2.php
Databáze obrázků
Malé a velké obrázky, podlkady, tlačítka, okrasné čáry a pod.
datove_zdroje/obrazky
Mikropočítače a jejich programování
Nízká forma programování, assembler a struktura procesorů.
knihy/mikropocitace/obsah_mikro1.php
Otevře stránky Fulltextové vyhledávání na celém serveru
Digitalizované odborné knihy
Velká encyklopedie pojmů a zkratek
Česko - anglicko - německý technický slovník
Klasický katalog firem, služeb a stránek
OnLine překladač  vět a textů (nepoužívá Google)
Stránky pro chvíle oddechu od studia, relaxace
Katalog českých firem dle technologií
Internetový odkazník
Otevře hlavní stranu pro oddíl programování




 Wikipedie   Seznam stránek   Kapitoly témat   Významné servery   Klíčová slova 








Otevře hlavní stranu společnosti AmaPro

Všechna práva vyhrazena. Určeno jen pro osobní využití. Bez předchozího písemného souhlasu správce www.amapro.cz je zakázána jakákoli další publikace, přetištění nebo distribuce jakéhokoli materiálu nebo části materiálu zveřejněného na www.amapro.cz a to včetně šíření prostřednictvím elektronické pošty. Články, jejichž přímým autorem není amapro.cz lze publikovat pouze se souhlasem jejich majitelů či administrátoru příslušného webu.