· Andrea Pollini · programmazione · 4 min read
7 Esercizi sulle struct in C++
7 Esercizi sulle struct in C++
Ecco un elenco di esercizi sulle strutture con l’utilizzo delle struct
, dedicato per chi sta studiando C++
e vuole iniziare ad affrontare problemi piú complessi di quelli che si trovano spesso online (che sono quasi sempre copia di esercizi di altri siti).
1 - ⭐⭐⭐ Conto Corrente con gestione movimenti
Implementare un programma C++ che consenta di gestire un conto corrente, costituito dall’insieme dei suoi movimenti di spesa e dall’insieme dei suoi movimenti di entrata. Ogni movimento di spesa è una struct
con le seguenti caratteristiche: data
, descrizione
, importo
e tipo
. Ogni movimento di entrata è una struct
con le seguenti caratteristiche: data
, descrizione
, importo
e tipo
.
Il campo data
é un intero che parte da zero e rappresenta i giorni a partire dalla partenza delle registrazioni dei movimenti. Il campo descrizione
é una stringa che contiene la descrizione del movimento. Il campo importo
é un numero reale che rappresenta l’importo del movimento. Il campo tipo
é una stringa che contiene il tipo del movimento ( ‘D’ per dare, ‘A’ per avere ).
- Gestire l’aggiunta di movimenti di spesa e di entrata.
- Gestire la stampa del saldo del conto corrente.
- Gestire la stampa di un report del totale delle spese e delle entrate raggruppato per mese.
2 - ⭐⭐ Gestione di una lista di cose da fare (la mitica todo list)
Scrivere un programma C++ che consenta di gestire una lista di cose da fare, utilizzando le struct struct cosa_da_fare
e struct lista_di_cose_da_fare
. La struct cosa_da_fare
contiene una stringa descrizione
e un bool fatto
. La struct lista_di_cose_da_fare
contiene una lista di struct cosa_da_fare
e un intero numero_di_cose
.
- Stampare a video l’elenco delle cose da fare.
- Inserire un nuovo elemento nella lista.
- Segnare una cosa come fatta.
- Eliminare una cosa.
3 - ⭐⭐ Generazione di dati di sensori
Creare un programma che possa generare un insieme di sensori. Ogni sensore sará rappresentato da una struttura e tutti i sensori saranno memorizzati in una lista. Ogni sensore avrá un nome, una descrizione e una lista di valori float
che saranno le misurazioni fatte. Il programma deve essere capace di:
- Creare un nuovo sensore e aggiungerlo alla lista.
- Stampare a video la lista dei sensori.
- Stampare a video, per ogni sensore, la lista degli ultimi 10 valori registrati.
- Aggiungere un nuovo valore in modo casuale alla lista di uno dei sensori.
- Mostrare a video per un sensore selezionato, la media delle misurazioni fatte, la misurazione minima e la misurazione massima.
4 - ⭐⭐⭐ Gestione di una collezione di libri
Creare un programma C++ che gestisca una collezione di libri. Per ogni libro sará una struct
con le seguenti caratteristiche: titolo
, autore
, anno
, editore
e prezzo
. La collezione sará gestita da una struct
lista_di_libri
che contiene una lista di struct libro
e un intero numero_di_libri
.
Il programma deve essere capace di:
- Aggiungere un libro alla collezione.
- Mostrare il numero di libri nella collezione
- Stampare l’elenco dei libri
- Stampare l’elenco dei libri raggruppati per autore
- Stampare i libri che contengono nel titolo una stringa
5 - ⭐⭐ Gestione di un mazzo di carte
Si crei un programma che gestisca un mazzo di carte utilizzando le struct struct carta
e struct mazzo_di_carte
. La struct carta
contiene un valore
e un seme
. La struct mazzo_di_carte
contiene una lista di struct carta
e un intero numero_di_carte
. Il programma deve essere capace di:
- Creare un nuovo mazzo di carte e mescolarlo.
- Estrarre una carta dal mazzo.
- Mostrare
N
carte estratte dal mazzo.
6 - ⭐⭐⭐ Gestione di un registro elettronico
Creare un programma che consenta di gestire il registro elettronico per una classe. Per ogni studente sará una struct
con le seguenti caratteristiche: nome
, cognome
, lezioni
, email
. La struct registro_elettronico
contiene una lista di struct studente
e un intero numero_di_studenti
. lezioni
é l’elenco delle lezioni che per il corso in oggetto é di 10 lezioni. Per ogni lezione si registri se lo studente era assente o presente nel modo che si ritiene piú opportuno. Il programma deve essere capace di:
- aggiungere uno studente alla classe
- aggiungere assenze e presenze per uno studente
- mostrare per ogni lezione chi era presente e chi era assente.
- mostrare la lista dei studenti che hanno fatto una determinata lezione.
7 - ⭐⭐⭐ Gestione percorso per una gita
Creare una applicazione C++ che consenta di salvare le tappe di una gita. Per ogni tappa si potrá aggiungere una lista di luoghi di interesse per quella localitá e una lista di note. La struct tappa
contiene una stringa nome_tappa
e una lista di struct luoghi_di_interesse
e una lista di struct note
. La struct gita
contiene una lista di struct tappa
e un intero numero_di_tappe
.
- Aggiungere una nuova tappa.
- Stampare a video la lista delle tappe.
- Stampare a video la lista dei luoghi di interesse per una determinata tappa.