Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




INSTRUCTIUNEA SWITCH

c


INSTRUCŢIUNEA SWITCH

Switch este o instructiune de decizie multipla care ramifica executia programului catre o anumita secventa de instructiuni dupa cum o expresie este egala cu o anumita valoare constanta.

Format:



switch (expresie)

instructiune

unde expresie este o expresie la care rezultatu 848c23i l evaluarii trebuie sa fie de tip int, iar instructiunea este o instructiune compusa, în care fiecare secventa de instructiuni ce se doreste a se executa pentru unele valori ale expresiei trebuie sa fie etichetata cu acele valori constante. Eticheta este de forma:

case expresie-constanta:

unde expresie-constanta este o constanta întreaga sau caracter sau o expresie constanta, sau de forma:

default:

Efectul instructiunii switch este urmatorul:

- se evalueaza expresia si se compara cu valoarea cazurilor prezente în etichetele case;

- daca valoarea expresiei este egala cu constanta de la unul din cazuri, executia continua de la secventa de instructiuni etichetata cu acel case în jos. Daca secventa respectiva se termina cu instructiunea break, se executa doar acele instructiuni, astfel executia continua cu urmatoarea secventa pâna se întâlneste un break sau sfârsitul instructiunii switch. Aceasta curgere în jos la urmatoarea secventa poate fi în avantajul programatorului, dar poate fi si cauza unor erori;

- daca valoarea expresiei nu este egala cu nici o constanta de la nici unul din cazuri, executia continua cu secventa de instructiuni etichetata cu default, iar daca default lipseste atunci nu se executa nimic.

Etichetele case si default pot fi puse în orice ordine, deci nu trebuie înteles ca ar trebui sa fie puse în ordine crescatoare si default la sfârsit, dupa cum si default poate sa lipseasca. În schimb, nu este permisa scrierea a doua etichete case identice.

Este indicat sa se foloseasca switch în situatia când realizarea unei decizii multiple cu ajutorul constructiei de if-uri imbricate ar fi suparatoare.

Programul urmator utilizeaza instructiunea seitch pentru a numara de câte ori apare cuvântul "far" într-un fisier text.

Exemplu 3.4.1.

# include stdio.h

main ( )

FILE pf;

int c, k, nrcuv;

if ((pf = fopen(" text.txt","r")) = = 0)

printf("Deschidere de fisier nereusita \n");

exit (1);

nrcuv = k = 0;

while (( c= fgetc (pf))! = EOF)

switch (c)

case ' ' : if (k<4)

k = 1;

else

nrcuv ++;

k = 1;

break;

case ' f ' :

case 'F ' : if (k = = 1)

k + +;

else

k = 0;

case ' a ' :

case 'A ' : if (k = = 2)

k + +;

else

k = 0;

break;

case ' r ' :

case 'R ' : if (k = = 3)

k + +;

else

k = 0;

break;

case '\n' : break;

default: k= 0;

printf (" Cuvântul far apare în fisier de %u ori \n", nrcuv);

Exemplu 3.4.2.

Instructiunea switch se mai poate folosi cu succes si la ramificari multiple, de exemplu ramificarile cerute de un menu.

# include "stdio.h"

main ( )

int k;

..............

printf(" M E N U \n");

printf(" 1 = creare fisier \n");

printf(" 2 = Modificare articol \n");

printf(" 3 = stergere articol \n");

printf(" 4 = Adaugare în coada \n");

printf(" Optiunea dvs.");

scanf (" %d , &k);

switch (k)

case 1: creare (.....) ; break;

case 2: modif (.....) ; break;

case 3: sterg (.....) ; break;

case 4: adaug (.....) ; break;

default: exit (1);



Document Info


Accesari: 9773
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )