Tipul struct în C++. Ce sunt structurile de date neomogene

În clasa a IX-a, am învățat despre numeroasele tipuri de date ale limbajului C++. Cu toate acestea, există momente când am vrea să grupăm mai multe tipuri de date într-un tip unitar. Spre exemplu, să zicem că avem mai multe informații despre un elev, pe care am vrea să le grupăm cumva:

  • Numele și prenumele (pe care le putem salva într-un șir de caractere char[]);
  • Vârsta (int);
  • Clasa (int);
  • Media la informatică (double);

Tipul de date struct ne ajută în acest sens.

Ce este struct în C++?

O structură de date neomogene (un struct) reprezintă o colecție de informații grupate sub un singur nume. Tipurile grupate pot fi de diferite tipuri (cum am demonstrat mai devreme, unde am salvat șiruri de caractere, numere naturale și reale, etc.).

Declararea unei structuri

O structură se declară astfel:

struct nume_struct {
    tip variabila1;
    tip variabila2;
    …
} nume_variabila;

Spre exemplu, structura ce definește un elev poate fi reprezentată astfel:

struct elev {
    char nume[30], prenume[30];
    int varsta;
    double medieInfo;
} a[30];

În exemplul de mai sus, am declarat un vector de elevi — fiecare elev în parte poate avea diferite valori:

nume prenume varsta medieInfo
a[1] Lazăr Alexandra 17
a[2] Enescu Șerban 16
a[3] Rusu Jean 17

Dacă vrem, putem să declarăm structura și doar mai încolo să declarăm o variabilă de tipul acelei structuri. În acest caz, după acolada de la declararea structuri este necesar să punem ; (punct și virgulă). Iată un exemplu:

struct elev {
    char nume[30], prenume[30];
    int varsta;
    double medieInfo;
}; //Aici trebuie punct și virgulă!

elev e1;

Accesarea unei proprietăți dintr-o structură

Să zicem că am declarat un elev de tipul de mai sus, numit e1. Pentru a selecta, spre exemplu, varsta elevului, vom apela e1.varsta. Similar, dacă am fi avut un vector de elevi și am fi vrut să selectăm numele celui de al treila elev, am fi apelat e[3].nume.

Citirea și afișarea unei structuri în C++

Citirea unei structuri constă în citirea tuturor proprietăților sale. Spre exemplu, programul C++ de mai jos declară un elev și citește de la tastatură proprietățile sale:

#include <iostream>

using namespace std;

struct elev {
    char nume[30], prenume[30];
    int varsta;
    double medieInfo;
};

int main()
{
    elev e1; //Elevul nu trebuie numit "elev", altfel s-ar confunda cu structura noastră; e ca și cum am numit un număr "int", s-ar confunda cu tipul de date int

    cout << "Introdu numele si prenumele elevului:";
    cin >> e1.nume >> e1.prenume;

    cout << "Introdu varsta elevului:";
    cin >> e1.varsta;

    cout << "Introdu media la info a elevului:";
    cin >> e1.medieInfo;
    return 0;
}

Afișarea unei structuri este similară cu citirea: afișăm pe ecran, pe rând, proprietățile sale:

cout << e1.nume << " " << e1.prenume << " are " << e1.varsta << " ani si are media " << e1.medieInfo << " la info.";

Probleme propuse

Setul de probleme 242 nu a fost găsit.

Alte resurse sau bibliografie

DS

Autorul acestei lecții

Dominic Satnoianu

Această lecție a fost redactată de către Dominic Satnoianu.

© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.

Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.

Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.

Comentarii 0

Autentifică-te pentru a putea comenta.

Autentifică-te