You are on page 1of 2

Lucrarea de laborator nr.

7
la disciplina „Programarea Calculatoarelor”
pentru studenţii an. 1, FCIM, UTM

Tema: Prelucrarea tabloului de structuri in limbajul C.

Scopul lucrării:
 Studierea regulilor de definire şi utilizare a structurilor de date;
 Crearea variabilelor de tip structură, accesarea componentelor unei structuri;
 Scrierea si utilizarea funcţiilor pentru prelucrarea structurilor si a tabloului de structuri;
 Alcătuirea programului cu mai multe functii cu afiţarea menu-ului de opţiuni pe ecran.

Noţiuni de bază

Structura – este o mulţime de date grupate, conform unei ierarhii, de obicei de tipuri diferite. Structura
poate fi comparată cu tabloul, însă tabloul conţine date de un acelaşi tip, iar elementele tabloului se
accesează cu ajutorul indicilor, pe cînd accesarea componentelor structurii are o formă specifică.
Structura reprezintă un tip de date definit de utilizator prin utilizarea tipurilor deja existente.

Ex.: Utilizind instructiunea typedef si specificator de structura struct putem defeni structura si
un nou tip de date student:

typedef struct student


{
// definirea cimpurilor (membrilor) structurii
char nume[50];
int an;
float nm;
} student;

Elementele structurii pot fi de tip predefinit sau definit de utilizator, excepţie fiind tipul structurii date.
Pentru definirea variabilelor este suficientă utilizarea numelui de structură la fel ca tipurile predefinite:

student s1, s2, s[10], *p;

În acest caz s-au definit două variabile de tip carte, un tablou din 10 cărţi şi un pointer spre student.
Referirea la componentele unei structuri se face utilizînd atît numele structurii cît şi a componentei
respective. Aceasta se realizează printr-o construcţie de forma:

s1.nm = 9.5;
s[i].nm = 8.5;

În cazul pointerilor:

p = &s1;
p->nm = 9.5;

Întrebări de control:
1. Cum se defineşte o structură?
2. Prin ce se deosebeşte structura de alte tipuri de date?
3. Cum se defineşte o variabilă de tip structură?
4. Cînd se utilizează punctul, cînd - săgeata?
5. O structură poate oare să conţină altă structură?
6. O structură poate oare să conţină pointer spre ea însăşi?
7. Poate oare să fie creată dinamic o variabilă de tip structură?

Sarcina: De eloborat un program pentru prelucrarea unui tablou de structuri (dupa varianta),
utilizind cel putin 5 cimpuri (membrii structurei) cu afisarea meniu-ului de optiuni pe ecran.

Variantele structurilor:

1. Carte
2. Film
3. Hotel
4. Cinematograf
5. Marfă
6. Automobil
7. Disciplină
8. Casa de schimb valutar
9. Imobil
10. Stat
11. Ruta aeriană
12. Farmacie
13. Companie telefonică
14. Agentie de turism
15. Universitate

Alcătuitor: dr., conf. univ. M. Kulev

Noiembrie 2016