Scusate. Allora la funzione deve controllare il membro “quantità” di ogni struttura e se uguale a 0 eliminare la struttura dall array. Codice:
void elimino_alimento(alimenti ** lista, int *n)
{
for( int i=0; i<*n; i++)
{
if(*lista[i]->quantita == 0)
{
//sposta l’ array di una posizione indietro dalla struttura che si deve eliminare
sposta_array(*lista, *n , i);
// rialloco array soglie do l ultima struttura dall array.
realloc_array(lista_alimenti, - -(*n));
}
}
Chiamata
elimino_alimento(&lista , &n);
Tutto funziona tranne il controllo della quantita.