Ciao a tutti !
Devo scrivere mediante l'uso delle liste una funzione che "valorizzi" la merce presente in magazzino. In pratica la funzione ricevuto l'elenco dei prodotti e il tipo di prodotto (classificato da una lettera, t nel mio caso) deve restituire il prodotto del numero dei componenti per il prezzo. Nel fare varie verifiche però ho notato che all'interno della funzione stessa i valori calcolati sono esatti mentre il valore restituito al main è errato. La funzione che ho scritto è questa :
Qualcuno può aiutarmi a trovare eventuali errori ?codice:float valorizza_magazzino(TList list, char t) { float v; if (list == NULL) return 0.0; if (list->info.sat.tipologia == t) { v = (list->info.sat.prezzo*list->info.sat.numero_componenti)+ valorizza_magazzino(list->link, t); printf ("vediamo %f\n", v); return v; } else { v = valorizza_magazzino(list->link, t); printf ("vediamo else %f\n", v); return v; } }

Rispondi quotando