Linguaggio C++

Struct E Vettori

Esempi di modellazione di problemi reali in C++ utilizzando le struct, con array, vettori e matrici.

Modellazione di Problemi Reali con le Struct in C++


Le struct permettono di rappresentare insiemi di dati eterogenei legati logicamente tra loro. Nella tabella seguente sono riportati alcuni esempi pratici di modellazione di situazioni reali attraverso l’uso di struct, con vettori e matrici.

Esempio da Modellare Rappresentazione con struct e array
1️⃣ Albergo con 10 stanze
Ogni stanza ha un affittuario e un prezzo mensile.
L’albergo vuole gestire gli affitti delle 10 camere.
struct Stanza {
    string nominativo;
    double prezzo;
};

Stanza albergo[10];
2️⃣ Registro studenti (classe con 25 alunni)
Ogni studente ha nome, età e voto medio.
Si vogliono memorizzare i dati di un’intera classe.
struct Studente {
    string nome;
    int eta;
    float media;
};

Studente classe[25];
3️⃣ Squadra di calcio (uso di vettore interno)
Ogni giocatore ha nome e un vettore con i gol segnati nelle ultime 5 partite.
struct Giocatore {
    string nome;
    int gol[5];
};

Giocatore rosa[11]; // 11 giocatori
4️⃣ Negozio con più prodotti (uso di due vettori collegati)
Un negozio vende diversi prodotti: ogni prodotto ha un nome e un prezzo.
Si usano due vettori paralleli, ma sarebbe meglio usare una struct!
string nomeProdotto[5];
double prezzoProdotto[5];

// oppure meglio:
struct Prodotto {
    string nome;
    double prezzo;
};
Prodotto listino[5];
5️⃣ Archivio temperature (uso di array)
Si vogliono registrare le temperature giornaliere di 4 città per 7 giorni.
struct Citta {
    string nome;
    double temp[7]; // 7 giorni
};

Citta archivio[4]; // 4 città

Osservazioni

  • Ogni struct modella un oggetto reale (stanza, studente, giocatore, prodotto, città).
  • L’uso di array di struct permette di gestire collezioni di oggetti simili.
  • Inserendo vettori o matrici all’interno della struct, si rappresentano facilmente dati temporali o tabellari.
  • Questa è la base per arrivare poi a strutture dati più complesse e alla programmazione orientata agli oggetti.

Consiglio: prova a scrivere per ciascun esempio un piccolo programma C++ che legga e stampi i dati, calcolando magari un totale o una media. È un ottimo esercizio per consolidare il concetto di struct.