1. Scrie definiția a două structuri (
Autor și Carte) astfel încât, dacă declarăm Carte b;, expresia b.autor.nume să fie validă.
Indiciu: Structura Carte trebuie să conțină un membru de tipul structurii Autor.
Rezolvare:
struct Autor {
char nume[50];
};
struct Carte {
char titlu[50];
Autor autor; // Membru de tip structură (imbricare)
};
// Acum putem scrie: b.autor.nume
2. Având definită structura de mai jos, cum declarăm o variabilă
myBook de acest tip?
Context:
struct Carte {
char titlu[50];
int nr_pagini;
};
Rezolvare:
În C++, sintaxa este
NumeStructura numeVariabila;.
3. Scrie definiția unei structuri
Punct care are două coordonate reale, x și y.
Rezolvare:
struct Punct {
float x;
float y;
};
4. Structuri imbricate: Având structura
Data deja definită, scrie structura Elev care are un nume (char[30]) și data nașterii de tip Data.
Context:
struct Data {
int zi, luna, an;
};
Rezolvare:
struct Elev {
char nume[31];
Data data_nasterii; // Membru de tip structură
};
5. Ce va afișa operatorul
sizeof(Punct) pentru structura de mai jos, considerând că un float are 4 octeți?
Context:
struct Punct {
float x;
float y;
};
Rezolvare:
4 octeți (x) + 4 octeți (y) = 8 octeți.