Eccolo.codice:#include <stdio.h>#include <conio.h> int n; void funz (float); struct elenco { float prezzo; char descrizione[50];} e[20]; int main(void){ int i; float incremento; printf ("Quanti prodotti vuoi inserire?: "); scanf ("%d",&n); for (i=0;i<n;i++){ printf ("\nInserisci il prezzo del prodotto numero %d: ",i+1); scanf ("%f",&e[i].prezzo); printf ("\nInserisci nome prodotto: "); scanf("%s",e[i].descrizione); } printf ("\n\n\n\nInserisci percentuale di incremento: "); scanf ("%f",&incremento); funz(incremento); for (i=0;i<n;i++) printf ("\nProdotto %d - %f - %s" , i+1, e[i].prezzo, e[i].descrizione); getch(); return 0;} void funz(float b){ int i; for (i=0;i<n;i++) e[i].prezzo=e[i].prezzo+b; return;}
Così funziona, solo che se usare una funzione void come ho fatto, faccio una funzione float,
al momento che ritorno e[i], esce 0.0000

Rispondi quotando