PDA

View Full Version : [C++] Liste dinamiche


Shireenx
14-02-2014, 20:23
Buona sera a tutti, qualcuno sarebbe così gentile da aiutarmi con un esercizio sulle liste dinamiche?

Il magazzino della EmmePi SpA è suddiviso in settori, in base al reparto in cui i beni sono
impiegati. Vi viene commissionata l’implementazione della funzione GiacenzaElevata che
riceve come parametro il nome del reparto e due liste. La prima lista contiene il codice del
prodotto (stringa di 15 caratteri), il nome del reparto di appartenenza e il prezzo del prodotto. La
seconda lista contiene il codice del prodotto (stringa di 15 caratteri), il codice del magazzino
(numerico) e la giacenza, nel magazzino (un prodotto può essere presente in più magazzini).
La funzione restituisce il numero di prodotti del reparto indicato che hanno una giacenza
complessiva superiore alle 100 unità e una giacenza minima in ciascun magazzino superiore alle 10
unità.


Facendo esercizi sulle liste, quasi sempre ho dovuto implementare una sola struttura dati, ma in questo bisogna metterne 2 e ciò mi sta causando problemi :\ . Io l'ho iniziato in questo modo ma sicuramente è sbagliato:

struct node1{
char codiceprod[15];
char reparto[20];
float prezzo;
node1* next;
};

struct node2{
char codiceprod2[15];
int codmag;
int giacenza;
node2 * next;
};

int GiacenzaElevata (char nomereparto[], node1* head, node2* head2);

Il codice scritto da me sicuramente non ha senso poichè non capisco come posso collegare la prima lista con la seconda in modo da poterle implementare nella funziona.

tomminno
16-02-2014, 11:30
Il codice prodotto è il valore che lega le 2 liste
dato un reparto trovi tutti i codici prodotto sulla prima lista
sulla seconda lista trovi tutti i codici prodotto che rispettano le condizioni indicate

Io comunque userei più funzioni per fare tutto questo. Una funzione che fa tutto quello che chiede l'esercizio è una god function che è sempre una pessima idea.

Poi il linguaggio è C o C++?
Perchè nel secondo caso io userei 2 classi con i metodi che servono per risolvere l'esercizio.
Usando vector e lambda poi l'esercizio si riduce a poche righe di codice, ma capisco che possa essere oltre gli scopi dell'esercizio.