přejít na obsah přejít na navigaci

Linux E X P R E S, Programovanie v jazyku C++: Podmienka switch-case

IT Systems - Alza Media (Publero)

Programovanie v jazyku C++: Podmienka switch-case

C++

Okrem podmienok s konštrukciou if-else poznáme aj switch-case. Tento typ podmienky sa hodí všade tam, kde potrebujeme rýchlo rozhodnuť o hodnote premennej, objektu atď… 


reklama

Podmienka switch-case

V článku sme si okrajovo ukázali podmienky s pomocou konštrukcie switch-case. Táto konštrukcia je síce menej používaná ako podmienka s konštrukciu if-else, ale niekedy je jednoduchšia a ponúka intuitívnejšiu možnosť hlavne vtedy, ak máme nejakú premennú a máme o nej rozhodnúť, akú ma hodnotu. Okrem predstavenia všeobecnej konštrukcie switch-case si predstavíme aj pár zaujímavých príkladov, ktoré môžu byť zaujímave pre začiatočníkov.

Samotná zjednodušená deklarácia podmienky switch-case je nasledovná:

switch (premenná) {
	case hodnota premennej: 
		blok kódu
			…
		break;
	case hodnota premennej: 
		blok kodu
			…
		break;

		…
		…
		...
	defaulf:
		blok kodu
  }

Konštrukcia default sa vykoná vtedy, ak všetky ostatné možností nenastali.

1. program: Zahrievacie kolo na switch-case podmienku.

#include <iostream>   // hlavičkový súbor
using namespace std;   // priestor mien

int main()   // hlavná funkcia main
{
    cout << "Prave si otvoril hudobny program. Prosim zvol od 1 do 7 aby som ti pustil pesnicku!\n";
    int volba = 0;
    cout << "Tvoja volba: ";
    cin >> volba;
    if (volba <=0 || volba >= 8)   // ošetrenie vstupu
    {
        cout << "Nepovolena operacia, koncim, goodbye";
        return 0;
    }
    switch (volba)   // podmienka cez konštrukciu switch-case
    {
    case 1:
        cout << "Beethowen";
        break;
    case 2:
        cout << "Mozart";
        break;
    case 3:
        cout << "Bach";
        break;
    case 4:
        cout << "Wagner";
        break;
    case 5:
        cout << "Brahms";
        break;
    case 6:
        cout << "Shubert";
        break;
    case 7:
        cout << "Verdi";
        break;
    }
    return 0;
}

Výsledok programu:

Prave si otvoril hudobny program. Prosim zvol od 1 do 7 aby som ti pustil pesnicku!
Tvoja volba: 2
Mozart

2. program: Pohni svojím panáčikom!

#include <iostream>
using namespace std;

int main()
{
    cout << "Ukazem ti magiu, pohnes s panacikom!\n";
    cout << "Tvoja aktualna pozicia je v strede stvorca.\n";
    cout << "*****\n";
    cout << "*****\n";
    cout << "**+**\n";
    cout << "*****\n";
    cout << "*****\n";
    cout << "\n";
    char volba;
    cout << "Zvol pohyb: w - hore, s - dole, a - dolava, d - doprava\n";
    cin >> volba;
    cout << "\n";
    if (volba != 'w' && volba != 's' && volba != 'a' && volba != 'd')
    {
        cout << "Ajeje nepovolena operacia! Koncim!";
        return 0;
    }
    switch (volba)   // tu ideme pohnúť panáčikom 
    {
    case 'w':
        cout << "*****\n";
        cout << "**+**\n";
        cout << "*****\n";
        cout << "*****\n";
        cout << "*****\n";
        break;
    case 's':
        cout << "*****\n";
        cout << "*****\n";
        cout << "*****\n";
        cout << "**+**\n";
        cout << "*****\n";
        break;
    case 'a':
        cout << "*****\n";
        cout << "*****\n";
        cout << "*+***\n";
        cout << "*****\n";
        cout << "*****\n";
        break;
    case 'd':
        cout << "*****\n";
        cout << "*****\n";
        cout << "***+*\n";
        cout << "*****\n";
        cout << "*****\n";
        break;
    }
    return 0;
}

Výsledok programu:

Ukazem ti magiu, pohnes s panacikom!
Tvoja aktualna pozicia je v strede stvorca.
*****
*****
**+**
*****
*****

Zvol pohyb: w - hore, s - dole, a - dolava, d - doprava
a

*****
*****
*+***
*****
*****

3. program: 3-bitový konvertor aj s použitím aj konštrukcie default

#include <iostream>
using namespace std;

int main()
{
    cout << "Som program 3-bitovy konvertor, ktory zmeni cislo na 3-bitovu podobu.\n";
    int volba;
    cout << "Zvol cislo od 0 do 7: ";
    cin >> volba;
    if (volba < 0 || volba >= 8)
    {
        cout << "Nepovolena operacia takze papa";
        return 0;
    }
    cout << "Po konverzii zadaneho cisla: "<<volba<<"\n";
    switch (volba)
    {
    case 0:
        cout << "000\n";
        break;
    case 1:
        cout << "001\n";
        break;
    case 2:
        cout << "010\n";
        break;
    case 3:
        cout << "011\n";
        break;
    case 4:
        cout << "100\n";
        break;
    case 5:
        cout << "101\n";
        break;
    case 6:
        cout << "110\n";
        break;
    default:
        cout << "111\n";
    }
    return 0;
}

Výsledok programu:

Som program 3-bitovy konvertor, ktory zmeni cislo na 3-bitovu podobu.
Zvol cislo od 0 do 7: 7
Po konverzii zadaneho cisla: 7
111

Nahoru

(Jako ve škole)
Průměr: 1,00 | Hodnotilo: 1
 

Top články z OpenOffice.cz

Přidat téma diskuse

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky Exospace.cz. Mám 23 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.


  • Distribuce: ubuntu
  • Grafické prostředí: unity
  • Hodnocení autora: *



Public Relations

Zajímavosti o Linuxu a užitečné tipy

Operační systém GNU/Linux (známý pod zkráceným názvem Linux) rozhodně není žádnou horkou novinkou, neboť jeho kořeny sahají až do roku 1984. Tento operační systém, jehož maskotem je tučňák, umožňuje svobodné použití bez nepříjemných pořizovacích nákladů.

Pokračování ...


Sophos