Concetti Chiave
- La struttura dati definisce una collezione di foglie secche usando un array di massimo 50 elementi, ognuno rappresentato da una specie e una quantità.
- Il programma C consente l'inserimento di una foglia nell'elenco, evitando duplicati e incrementando la quantità se la specie è già presente.
- Se la foglia non è presente nell'elenco, viene inserita come nuovo elemento con la quantità inizializzata a 1.
- La funzione insertFoglia() si avvale della funzione ricercaFoglia() per determinare se una specie è già presente nell'elenco.
- Il programma include la gestione degli errori per garantirne il corretto funzionamento anche in situazioni limite.
Esercizio C - Funzioni e struct
Data le seguenti dichiarazioni che descrivono una struttura dati per memorizzare una collezione di foglie secche:
#define MAX_DATI 50
typedef char string [40];
typedef struct {
string specie; //specie botanica
int quant; } //quantità
tFoglia;
typedef struct {
tFoglia dati [MAX_DATI];
int numEff;
}tElencoFoglie;
Con riferimento alla struttura di cui sopra, scrivete un pgm C che esegue l’inserimento di una foglia nell’elenco. Attenzione, però: non vogliamo che i doppioni occupino posti diversi, ma vogliamo comunque contare accuratamente tutte le foglie. I casi sono quindi due: se la foglia è già presente nell’elenco si deve incrementare il corrispondente quantitativo di 1 unità; se invece non è presente va inserita come nuovo elemento (e in questo caso il relativo quantitativo deve essere posto a 1).
La funzione insert Foglia() utilizza la funzione ricercaFoglia() anch’essa da codificare.
Gestire opportunamente le situazioni di errore.