ccpp:vetvenicase

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
ccpp:vetvenicase [2019/10/10 15:30] durdilovaccpp:vetvenicase [2021/11/22 12:50] (aktuální) bures
Řádek 5: Řádek 5:
 ===== Syntaxe příkazu switch ===== ===== Syntaxe příkazu switch =====
 <code c> <code c>
-switch (selektor) 
-{ 
-  case hodnota1 : prikaz1;break; 
-  case hodnota2 : prikaz2;break; 
-  ... 
-  case hodnotan : prikazn;break; 
-} 
- 
 switch (selektor) switch (selektor)
 { {
Řádek 24: Řádek 16:
  
 ==== Poznámky ==== ==== Poznámky ====
-  * Část defaultje nepovinná+  * selektor větvení je proměnná nebo výraz ordinálního datového typu (v některých jazycí může být typu string) 
-  * Příkaz break je příkaz skoku v tomto ípadě bude program pokračovatza íkazem switch +  * jednotlivé větve pro hodnoty výrazu jsou definovány pomocí klíčového slova **case**
-  * Pokud příkaz break není uveden, program pokračuje dalšími íkazy v dalších větvích case (tzv. propadávání).+  * hodnoty v jednotlivých větvích jsou stejného datového typu jako je selektor větvení 
 +  * jedna hodnota nemůže být ve dvou větvích 
 +  * část default je nepovinná a je provedena pouze, pokud selektor větvení nenabývá žádné z hodnot větví case 
 +  * tělo íkazu switch začíná končí složenými závarkami 
 +  * íkaz **break** definitivně ukončí provádění íkazu switch 
 +  * příkaz goto umožňuje skok na jiný blok case uvnitř íkazu switch 
 +  * pokud chci provést určitý příkaz pro více hodnot, využiju tzv. propadávání (nenapíši **break**)
  
 ===== Průběh rozhodovacího příkazu ===== ===== Průběh rozhodovacího příkazu =====
Řádek 44: Řádek 42:
 switch (znamka) //selektor větvení switch (znamka) //selektor větvení
 { {
-    case 1:printf("vyborny\n");break; +    case 1: 
-    case 2:printf("chvalitebny\n");break; +      printf("Vyborny\n"); 
-    case 3:printf("dobry\n");break; +      break; 
-    case 4:printf("dostatcny\n");break; +    case 2: 
-    case 5:printf("nedostatcny\n");break; +      printf("Chvalitebny\n"); 
-    default:printf("blbost\n");break;+      break; 
 +    case 3: 
 +      printf("Dobry\n"); 
 +      break; 
 +    case 4: 
 +      printf("Dostatcny\n"); 
 +      break; 
 +    case 5: 
 +      printf("Nedostatcny\n"); 
 +      break; 
 +    default: 
 +      printf("Chybny vstup!\n"); 
 +      break;
 } }
 </code> </code>
Řádek 59: Řádek 69:
 switch (rimska) //selektor větvení switch (rimska) //selektor větvení
 { {
-    case 'I':arabsky = 1;break; +    case 'I': 
-    case 'V':arabsky = 5;break; +      arabsky = 1; 
-    case 'X':arabsky = 10;break; +      break; 
-    case 'L':arabsky = 50;break; +    case 'V': 
-    case 'C':arabsky = 100;break; +      arabsky = 5; 
-    case 'D':arabsky = 500;break; +      break; 
-    case 'M':arabsky = 1000;break; +    case 'X': 
-    default:printf("neznam");arabsky = 0;break;+      arabsky = 10; 
 +      break; 
 +    case 'L': 
 +      arabsky = 50; 
 +      break; 
 +    case 'C': 
 +      arabsky = 100; 
 +      break; 
 +    case 'D': 
 +      arabsky = 500; 
 +      break; 
 +    case 'M': 
 +      arabsky = 1000; 
 +      break; 
 +    default: 
 +      printf("Neznama cislice\n"); 
 +      arabsky = 0; 
 +      break;
 } }
 printf("Rimska cislice %c je %i\n", rimska, arabsky); printf("Rimska cislice %c je %i\n", rimska, arabsky);
 +</code>
 +
 +==== Selektor větvení je typu výčet ====
 +<code c>
 +enum tyden { pondeli, utery, streda, ctvrtek, patek, sobota, nedele };
 +enum tyden dnes = streda;
 +switch (dnes) //selektor větvení
 +{
 +   case pondeli:
 +   case patek:
 +   case utery:printf("13 - 18");break;
 +   case streda:printf("12 - 20");break;
 +   case ctvrtek:printf("8 - 12");break;        
 +   case sobota:
 +   case nedele:printf("zavreno");break;
 +}
 </code> </code>
  • ccpp/vetvenicase.1570714240.txt.gz
  • Poslední úprava: 2019/10/10 15:30
  • autor: durdilova