Array di strutture in C ++

Array di strutture in C ++

In C ++, una struttura di dati chiamata "array di strutture" consente di gestire e archiviare un gruppo di elementi di dati connessi in un'unica variabile. I tipi di dati definiti dall'utente chiamati "strutture" consentono di combinare i membri dei dati di vari tipi in un'unica entità.

Lavorare con raccolte di dati correlati in cui ciascun elemento di dati ha numerosi campi o caratteristiche è tipico in molte applicazioni. Potresti tenere i dati sui dipendenti, ad esempio, in cui ogni dipendente ha un nome, età, reddito e altri dettagli. In queste circostanze, l'organizzazione dei dati tramite una serie di strutture può essere sia efficace che pratica.

Implementazione della serie di strutture in C++

Ora, capiamo come dichiarare la serie di strutture nel linguaggio di programmazione C ++ in modo da poter implementare facilmente l'array di strutture durante la codifica. Per dichiarare una serie di strutture in C ++, dobbiamo prima definire la struttura usando la "struttura" che è una parola chiave predefinita. Quindi, elenca il nome della struttura in modo che possiamo accedere alla struttura nel codice e nelle staffe che racchiudono i suoi campi. Dichiarare le variabili con il loro tipo di dati tra parentesi chiuse. I dati dei dati delle variabili potrebbero essere diversi o lo stesso.

Esempio 1: una persona che utilizza una matrice di strutture in C++

Iniziamo a implementare l'esempio di una persona in cui otteniamo le informazioni di base di ogni persona e visualizziamo nella finestra della console dell'utente. Per questo, includiamo innanzitutto i file di intestazione di base che sono iostream e file di intestazione della stringa e utilizziamo la direttiva usando lo spazio dei nomi "std" nell'ambito corrente. Il file di intestazione iostream fornisce definizioni per flussi di input e output in C ++ come CIN e Cout.

Il file di intestazione della stringa fornisce definizioni per la classe String, che è un modo conveniente di lavorare con il testo in C++. La direttiva usando ci consente di utilizzare i nomi definiti nello spazio dei nomi "std" senza doverli qualificarli con il prefisso "std ::". Questo rende il codice più facile da leggere e scrivere poiché possiamo semplicemente scrivere "cout" invece di "std :: cout" ogni volta che vogliamo stampare qualcosa sulla console.

Quindi, creiamo una struttura chiamata "persona" con tre membri: una stringa di nome, un'età int e una doppia altezza doppia. Questa struttura può essere visualizzata come un tipo di dati definito dall'utente che compila informazioni correlate in un'unica entità. Successivamente, definiamo le "persone" come una serie di strutture di persona con una dimensione di 3. Ciò indica che possiamo archiviare i dati su un massimo di tre persone in questo array. Una struttura "persona", che ha membri per nome, età e altezza, costituisce ogni voce dell'array.

#includere
#includere
Utilizzo dello spazio dei nomi std;
Struct Person
Nome stringa;
Int Age;
doppia altezza;
;
Persone Persone [3];
int main ()
per (int i = 0; i < 3; i++)
cout << "Enter name, age, and height for person " << i+1 << ": ";
CIN >> People [i].Nome >> persone [i].età >> persone [i].altezza;

per (int i = 0; i < 3; i++)
cout << endl;
cout << "Person " << i+1 << ":" << endl;
cout << "Name: " << people[i].name << endl;
cout << "Age: " << people[i].age << endl;
cout << "Height: " << people[i].height << endl;

restituzione 0;

Quindi, iniziamo la funzione principale () in modo da poter accedere facilmente alla struttura che abbiamo creato in precedenza. Utilizziamo un per loop nel metodo principale () per chiedere all'utente di fornire i dati per tre diversi utenti. All'utente viene richiesto di fornire il nome, l'età e l'altezza di una persona tre volte sulle tre iterazioni del Loop. Usando "CIN", l'input viene letto prima di essere assegnato ai membri appropriati della persona di People Array. Inseriamo le informazioni per tutte e tre le persone e quindi visualizziamo i dettagli per ogni persona che utilizza un altro per loop.

Il ciclo si iterato tre volte. Per ogni iterazione, "cout" viene utilizzato per visualizzare il nome, l'età e l'altezza di una persona. Alla fine, torniamo 0 alla funzione principale (). Di seguito è riportato l'output del programma precedentemente implementato:

Esempio 2: auto per archiviare le informazioni di più auto

Ora, attendiamo con ansia il prossimo esempio in cui implementiamo un esempio di auto in cui memorizziamo le informazioni delle auto e poi le mostriamo. Come quello che abbiamo fatto nell'esempio precedente, includiamo sempre prima i file di intestazione di base che è importante scrivere ed eseguire un programma. In questo codice, definiamo una nuova struttura C ++ denominata "auto" che ha quattro membri: marca, modello, anno e prezzo. Ogni membro ha il suo tipo di dati, con "make" e "modello" che sono stringhe, l'anno è un INT e il prezzo è il doppio.

#includere
#includere
Utilizzo dello spazio dei nomi std;
Struct Car
String Make;
modello di stringa;
anno int;
doppio prezzo;
;
int main ()
const int num_cars = 3;
Auto auto [num_cars];
per (int i = 0; i < NUM_CARS; i++)
cout << "Car " << i+1 << " Information:" << endl;
cout << "Enter car make: ";
CIN >> auto [i].Fare;
cout << "Enter car model: ";
CIN >> auto [i].modello;
cout << "Enter car year: ";
CIN >> auto [i].anno;
cout << "Enter car price: ";
CIN >> auto [i].prezzo;

doppio totale_price = 0;
per (int i = 0; i < NUM_CARS; i++)
cout << "Car " << i+1 << ":" << endl;
cout << "Make: " << cars[i].make << endl;
cout << "Model: " << cars[i].model << endl;
cout << "Year: " << cars[i].year << endl;
cout << "Price: $" << cars[i].price << endl;
cout << endl;
total_price += auto [i].prezzo;

cout << "Total price of all cars: $" << total_price << endl;
restituzione 0;

Successivamente, iniziamo la funzione principale (). Creiamo una serie di strutture "auto" chiamate "auto", con una dimensione di num_cars, che è definita come una costante con un valore di 3 utilizzando la parola chiave const. Ciò significa che l'array per auto può contenere fino a 3 oggetti dell'auto. Il per loop itera attraverso ciascun elemento dell'array di auto e spinge l'utente a inserire un'informazione su ciascuna auto.

All'interno del ciclo, utilizziamo l'istruzione Cout per visualizzare un messaggio che chiede all'utente di inserire un'informazione sull'auto attuale, inclusi la sua marca, il modello, l'anno e il prezzo. Utilizziamo l'istruzione CIN per leggere l'input dell'utente per ciascuno di questi campi e archiviarla nella variabile membro corrispondente dell'attuale oggetto automobilistico nell'array delle auto. In particolare, CIN legge l'input dell'utente come stringa per i campi "make" e "modello" e come intero per il campo dell'anno e come doppio per il campo dei prezzi. Entro la fine del ciclo, l'array delle auto viene riempito con 3 oggetti auto, ciascuno con informazioni inserite dall'utente.

Successivamente, calcoliamo il prezzo totale di tutte le auto inserite dall'utente. Per prima cosa inizializziamo una variabile chiamata "total_price" come doppio con un valore di 0. Questa variabile viene utilizzata per mantenere il prezzo totale di tutte le auto nell'array delle auto. All'interno del ciclo, stampare informazioni su ogni auto sulla console usando Cout. Stampa la marca, il modello, l'anno e il prezzo dell'attuale oggetto automobilistico nell'array. La variabile "Total_Price" viene inoltre aggiornata aggiungendo il prezzo dell'oggetto auto corrente al valore corrente del "totale_price" utilizzando l'operatore +=.

Una volta terminato il ciclo, il codice stampica il prezzo totale di tutte le auto che utilizzano Cout per visualizzare il valore di "Total_Price" alla console. L'output è formattata per includere un segno di dollaro davanti al prezzo totale. Ecco l'output:

Conclusione

Ora abbiamo imparato qual è la serie di strutture nel linguaggio di programmazione C ++. Abbiamo discusso dell'attuazione e della dichiarazione della struttura nella sessione. Abbiamo implementato alcuni esempi per capire di più sul concetto di questo argomento.