Professional Documents
Culture Documents
Exista anumite cazuri in care utilizatorii au nevoie de tipuri de date mai complexe,
sau structuri de date, care nu sunt acoperite strict de tipurile de date clasice. In aceste
situatii, utilizatorii isi pot crea singuri structurile de date in functie de necesitati.
Structurile de date vor avea un nume si va fi format din mai multe componente
numite campuri, fiecare dintre acestea fiind reprezentate de cate o variabila de tip clasic
(intreg/real/etc.). Ulterior se pot declara variabie de acest tip (definit de utilizator).
Forma generala
struct<nume_structura>
{
tip_de date 1 variabila 1;
tip_de date 2 variabila 2;
..............................
tip_de date n variabila n;
} variabila tip referinta
Exemplu
struct elev
{
int nr_matricol;
char nume[20], prenume[20];
float media;
} e[20];
Variabilele care se doresc a avea tipul definit de utilizator pot fi declarate fie la momentul construirii
tipului de date, fie alaturi de declaratiile celorlalte variabile, cum se va putea observa in exemplul de
mai jos.
Problema: Sa se calculeze media aritmetica generala a unei clase de n elevi. Se vor introduce de la
tastatura:
Solutie:
#include <iostream> float s=0, med_gen;
usingnamespacestd; cout<<"Introducetinumarul elevilor din clasa:
struct elev n=";cin>>n;
{ cout<<"Introduceti datele elevilor:"<<endl;
intnr_matricol; for (i=1;i<=n;i++)
char nume[20], prenume[20]; {
float media; cout<<"Numele elevului "<<i<<" este: ";
}; cin>>e[i].nume;
intmain() cout<<"Prenumele elevului "<<i<<" este: ";
{ cin>>e[i].prenume;
intn,i; cout<<"Media elevului "<<i<<" este: ";
elev e[20]; cin>>e[i].media;
Fișa de aplicații cls a X- a Real
s=s+e[i].media;
}
med_gen=s/n;
cout<<"Media generala a clasei este:
"<<med_gen;
}