PCLP Laborator08: Tipuri de date definite de utilizator: structuri, uniuni, enumuri
Obiective
În acest laborator vom studia:
- structuri în C: organizarea datelor din rezolvarea unei probleme complexe în structuri și uniuni
- copierea structurilor
- practici de urmat în lucrul cu structuri
De asemenea, vom combina structurile cu toate noțiunile învățate anterior (tablouri, alocare dinamică, pointeri, șiruri de caractere)
Materiale utile:
- [OCW/Suport Teoretic pentru Laborator] Tipuri de date definite de utilizator: structuri
- [OCW/Suport Teoretic pentru Laborator] Tipuri de date definite de utilizator: uniuni
- [OCW/Suport Teoretic pentru Laborator] Tipuri de date definite de utilizator: enumuri
Pentru o aprofundare mai bună a conceptelor prezentate în laborator, vă recomandăm să parcurgeți materialele din arhivele
Exerciții
-
Scrieți un program care citește o listă de
nstudenți caracterizați prin nume (maxim 29 de caractere), grupă (maxim 5 caractere) și medie (un număr de tipdouble), apoi afișează într-un format tabelar (valori despărțite prin\t) toate informațiile pentru fiecare student, în ordinea alfabetică a numelor lor. -
Modificați programul anterior astfel încât câmpul
numesă fie alocat dinamic.
- La finalul execuției faceți, cu ajutorul unei funcții, dealocarea memoriei.
- Folosind valgrind verificați că nu aveți memory leak-uri.
- Scrieți o funcție care face copierea unei structuri de tipul celei folosite la punctul 2. Demonstrați că aceasta funcționează corect făcând următorii pași:
- Citiți o structură de tipul student
- Copiați structura citită
- Modificați numele studentului din copia realizată
- Afișați ambele structuri
- Eliberați memoria alocată
- Verificați cu valgrind
ATENȚIE Toate sarcinile se vor realiza folosind o abordare modularizată (cu funcții). Discutați cu asistentul alegerile voastre, dacă nu sunteți siguri care ar trebui să fie semnăturile funcțiilor.
Problemset (extra)
Vă propunem să lucrați acasă probleme din PCLP Laborator08: Problemset (extra).