Raggruppare dati diversi
Una struct è un tipo di dato che crei tu, mettendo insieme più campi (anche di tipo diverso) sotto un unico nome. È come una carta d'identità: un solo oggetto, tante informazioni.
Definire e usare
La struct si definisce globalmente, dopo using namespace std;. Poi si dichiarano variabili di quel tipo e si accede ai campi con il punto.
struct Studente { // definizione del tipo string nome; float media; int assenze; }; int main() { Studente s; // una variabile di tipo Studente s.nome = "Giulia"; // accesso ai campi con il punto s.media = 7.5; s.assenze = 4; cout << s.nome << " ha media " << s.media; return 0; }
Il bello arriva con i vettori di struct: un registro di classe è semplicemente un array di Studente.
const int N = 30; Studente classe[N]; for (int i = 0; i < N; i++) { cin >> classe[i].nome >> classe[i].media; } // es. media di classe float somma = 0; for (int i = 0; i < N; i++) somma += classe[i].media; cout << "Media di classe: " << somma / N;
Gli esercizi
Base: una singola struct e i primi vettori di struct. Avanzati: ricerca, ordinamento, struct annidate e struct con vettori (10 esercizi ciascuna).