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