Înregistrarea (Structura) în C++ 1
1. Obiectivele lecției:
- Să înțeleagă conceptul de înregistrare (structură) în C++.
- Să învețe cum să declare, să inițializeze și să utilizeze structurile.
- Să implementeze programe practice care implică manipularea datelor folosind structuri.
2. Conținutul lecției:
Ce este o înregistrare (structură)?
- Definiție: O structură este un tip de date definit de utilizator care permite gruparea mai multor variabile de tipuri diferite sub un singur nume.
- Scop: Este utilă pentru organizarea și gestionarea datelor complexe, cum ar fi informațiile unui student, detaliile unui produs, etc.
Declarația unei structuri
- Format general:
struct NumeStructura {
tip_de_date nume_camp1;
tip_de_date nume_camp2;
// alte câmpuri
};
- Exemplu: Structură pentru un student
struct Student {
string nume;
int varsta;
float medie;
};
Utilizarea unei structuri
- Declararea variabilelor:
Student s1, s2;
- Accesarea câmpurilor:
- Folosiți operatorul punct (.).
s1.nume = „Ion”;
s1.varsta = 18;
s1.medie = 9.5;
- Inițializarea câmpurilor la declarare:
Student s1 = {„Ion”, 18, 9.5};
Cod exemplu: Declarație și utilizare
Exemplu 1: Declararea și afișarea unui student
#include <iostream>
using namespace std;
struct Student {
string nume;
int varsta;
float medie;
};
int main() {
Student s1 = {„Ion”, 18, 9.5};
cout << „Nume: ” << s1.nume << endl;
cout << „Varsta: ” << s1.varsta << endl;
cout << „Medie: ” << s1.medie << endl;
return 0;
}
Exemplu 2: Vector de structuri
#include <iostream>
using namespace std;
struct Student {
string nume;
int varsta;
float medie;
};
int main() {
const int n = 3;
Student studenti[n];
// Citirea informațiilor despre studenți
for (int i = 0; i < n; i++) {
cout << „Introduceti datele pentru studentul ” << i + 1 << „:” << endl;
cout << „Nume: „;
cin >> studenti[i].nume;
cout << „Varsta: „;
cin >> studenti[i].varsta;
cout << „Medie: „;
cin >> studenti[i].medie;
}
// Afișarea informațiilor
cout << „\nLista studentilor:” << endl;
for (int i = 0; i < n; i++) {
cout << „Student ” << i + 1 << „: ” << studenti[i].nume
<< „, Varsta: ” << studenti[i].varsta
<< „, Medie: ” << studenti[i].medie << endl;
}
return 0;
}
Exemplu 3: Funcții care manipulează structuri
#include <iostream>
using namespace std;
struct Student {
string nume;
int varsta;
float medie;
};
void afisareStudent(const Student& s) {
cout << „Nume: ” << s.nume << „, Varsta: ” << s.varsta << „, Medie: ” << s.medie << endl;
}
int main() {
Student s1 = {„Ana”, 20, 9.8};
Student s2 = {„Mihai”, 22, 8.7};
cout << „Detalii student 1:” << endl;
afisareStudent(s1);
cout << „Detalii student 2:” << endl;
afisareStudent(s2);
return 0;
}
Avantaje ale utilizării structurilor
- Permite organizarea mai clară a datelor complexe.
- Grupați variabile de diferite tipuri într-o entitate logică.
- Ușurează reutilizarea codului și întreținerea programului.
4. Aplicații practice
- Catalog de studenți:
- Structură care conține informații despre studenți (nume, vârstă, note).
- Calculați media generală a clasei.
- Magazin:
- Structură care stochează detaliile unui produs (nume, preț, stoc).
- Căutați cel mai scump produs.
- Gestionare persoane:
- Structură cu informații despre o persoană (nume, CNP, adresă).
- Găsiți persoana cu vârsta cea mai mică.
5. Activități practice pentru elevi
- Scrieți un program care gestionează informațiile despre 5 mașini (model, an fabricație, preț) și afișează mașina cea mai veche.
- Realizați un program care stochează datele pentru 10 angajați (nume, salariu, poziție) și afișează angajatul cu cel mai mare salariu.
- Scrieți un program care folosește un vector de structuri pentru a păstra informațiile despre un set de cărți (titlu, autor, an publicare) și afișează toate cărțile publicate înainte de un an dat.
6. Scheme logice
- Crearea unei structuri:
- Start -> Declarați structura -> Adăugați câmpurile -> Inițializați datele -> Stop.
- Vector de structuri:
- Start -> Declarați vectorul -> Iterați pentru citire -> Iterați pentru afișare -> Stop.
7. Concluzie:
- Structurile sunt esențiale pentru organizarea datelor complexe în programele C++.
- Utilizarea lor facilitează scrierea unui cod clar, reutilizabil și ușor de întreținut.
Practica ajută la consolidarea înțelegerii și la dezvoltarea abilităților de programare.