Uz pomoć ove naredbe grananja može se postići da se, u zavisnosti od vrednosti neke promenljive, izvršava određeni blok naredbi.

Zadatak : uzeti od korisnika broj 1, 2,3, 4 ili 5 i za svaki broj ispisati neku različitu poruku.

Ovo se može uraditi preko „if“ naredbe ali će izgledati nezgrapno, no kao DOMAĆI ZADATAK pokušajte da ovo uradite na taj način.

Evo kako bi rešenje izgledalo ako koristimo switch naredbu.

/* PROGRAM u kojem se koristi SWITCH_NAREDBA */

 u ieziku C:
 u jeziku C++
#include <stdio.h>


int main(void)

{

int broj;

printf("Unesite broj 1 2 3 4 ili 5 -> ");

scanf("%d", &broj);


switch( broj ) {

case 1:

printf("Uneli ste broj jedan!\n");

break;

case 2:

printf("Broj dva\n");

break;

case 3:

printf("Ovaj mi se broj ne dopada!\n");

break;

case 4:

printf("Broj 4");

break;

case 5:

printf("...bip...bip...bip..\n");

break;

default:

printf("Niste lepo uneli broj!\n");

}

return 0;
}
#include <iostream> 
using namespace std;

int main(void)
{
 int broj;
 cout << "Unesite broj 1 2 3 4 ili 5 -> "<< endl;
 cin >> broj;

 switch( broj ) {
  case 1:
        cout<<"Uneli ste broj jedan!"<<endl;
        break;
  case 2:
        cout<<"Broj dva"<<endl;
        break;
  case 3:
        cout<<"Ovaj mi se broj ne dopada!"<<endl;
        break;
  case 4:
        cout<<"Broj 4"<<endl;
        break;
  case 5:
        cout<<"...bip...bip...bip.."<<endl;
        break;
  default:
        cout<<"Niste lepo uneli broj!"<<endl;
  }
 return 0;
}
Iza naredbe switch, unutar zagrada treba uneti ime neke promenljive koju proveravamo pa na osnovu njene vrednosti će se pozivati određen blok naredbi. „case 1:“ označava da, ako je vrednost promenljve „broj“ 1 da će se početi sa izvršavanjem sledećih linija koda dok se god ne naiđe na naredbu break ili na kraj tela switch naredbe.

To znači da ako je vrednost promenljive „broj“ npr.5 izvršiće se samo naredba printf("...bip...bip...bip..\n"); i break; Sve naredbe pre njih biće preskočene. Da nema naredbe break izvršavanje naredbi bi išlo sve dok se ne dođe do kraja tela naredbe switch, ovo ponašanje se naziva „drop-down“ ili „propadanje“. Naredbe koje slede iza ključne reči „default“ biće izvršene ukoliko vrednost koju ima promenljiva broj nije ni 1 ni 2 ni 3 ni 4 ni 5 vec neka druga, nepredviđena vrednost tj. ako za vrednost promenljive broj ne postoji ni jedan odgovarajuci „case“.

________

Postoji još i naredba bezuslovnog skoka, goto: . Ovom naredbom možete se „prebaciti“ tj. skočiti sa bilo kojeg mesta u funkciji na bilo koje drugo mesto u toj funkciji. Međutim logično je da lokaciju na koju želite da izvršavanje koda „skoči“ treba da označite nekako. To se radi tako što na početku reda koji predstavlja destinaciju skoka upisujete proizvoljno ime i simbol dvotačke( : ). Nije dobra programerska praksa da se koristi naredba goto – NE KORISTITE JE AKO NE MORATE !!!

Last modified: Saturday, 5 December 2020, 7:38 PM