Sunteți pe pagina 1din 2

Tipul înregistrare

Tipuri de date pot fi:


 Simple
 Compuse
Un struct în limbajul de progamare C este un tip de date compus care defineste o lista de variabile ce
urmează să fie grupate sub acelaşi nume, într-un bloc de memorie. Un struct poate conţine multe atat tipuri
de date simple cât si compuse care în împreună organizează înregistrari. (În limbaju de progamare Pascal
structurile se regasesc sub denumirea de record, adica inregistrare.)

De exemplu:

Declararea:
struct masina { struct punct {
char numar_inmatriculare[9]; int x, y;
char marca[20]; }A;
char model[20]; struct segment {
int anul_aparitiei; punct A, B;
bool combustibil_benzina; }S;
}mama, bunicu; struct dreptunghi {
masina tata, vecin; punct S, D;
};
struct patrat {
punct A;
double lungimea_laturilor;
}a[100];

Accesarea datelor
Accesarea datelor se face cu ajutorul semului“.”.
Exemplu: Să se afiseze anul apariţiei maşinii a cărei identitate este reţinută de variabila tata.
cout << tata.anul_aparitiei << ”\n”;

Moduri de inţializare
Vom lua drept exemplu stuctura punct.
punct O = {0, 0};
punct A = {y = 1, x = 6};
punct B = A;

Moduri de atribuire
Vom lua drept exemplu structura punct. Şi vom considera A, B şi O declarate anterior ca în exemplul
de mai sus.
A.x = 4;
B = A;
O = (punct) {1, 3};

Exerciţii
1. Variabila d, declarată alăturat, memorează în câmpurile a şi b lăţimea şi, respectiv, lungimea unui dreptunghi. Care dintre
următoarele instrucţiuni atribuie câmpului aria al variabilei d valoarea ariei dreptunghiului respectiv?
struct dreptunghi {
float a,b,aria;
} d;
a. d.aria==d.a*d.b; b. aria.d=a.d*b.d;
c. aria.d=d.a*d.b; d. d.aria=d.a*d.b;
2. Considerăm declararea alăturată folosită pentru a memora numele, prenumele şi cele 2 note ale unui elev.Care dintre
instrucţiunile de mai jos calculează în variabila reală m media aritmetică a notelor elevului ale cărui informaţii sunt
memorate în variabila x?
struct elev {
char nume[10], prenume[20];
float nota1,nota2;
} x;
a. m=(x.nota1+x.nota2)/2; b. m=(nota1+nota2)/2;
c. x.m=(x.nota1+x.nota2)/2; d. m=(x,nota1+x,nota2)/2;
3. Variabila x, declarată alăturat, memorează în câmpurile med1 şi med2 mediile semestriale ale unui elev. Scrieţi o
expresie a cărei valoare va fi media anuală a acestui elev.
struct elev {
int matricol;
float med1, med2;
} x;
4. Campion: dreptc
5. Campion: afise
6. Campion: patrate2
7. Se dă n şi n puncte în plan. Să se afiseze punctele ordonate crescator după x şi în caz de egalitate crescator
după y.
8. Se dă n, o mulţime de n puncte în plan şi un punct A. Căutaţi binar A în mulţimea de puncte.

S-ar putea să vă placă și