SamFisher-92
libroprezmax lo dichiari come intero.
Codice:
void prezzomax(int libroprezmax, int n)
libroprezmax=0;
for (i=1;i<n;i++)
{if (elencolibri[i].prezzo>elencolibri[libroprezmax].prezzo)
{libroprezmax=i;}
}
printf(elencolibri[libroprezmax].titolo)
}
Questa dovrebbe funzionare, però ho cambiato un pò tutto:
Codice:
/*Scrivere un programmam che consenta di caricare un elenco di massimo 30 libri, ciascuno caratterizzato dai campi:
-Titolo
-Autore
-Prezzo
Scrivere una funziona che trovi il libro di prezzo maggiore*/
#include <stdio.h>
#include <conio.h>
typedef struct tlibri
{
char titolo[20];
char autore[30];
float prezzo;
};
int prezzomax( tlibri elencolibri[] , int n );
main ()
{
int n,i,imax;
tlibri elencolibri[30];
printf("Inserisci il numero dei libri: ");
scanf("%d", &n);
for(i=0;i<n;i++)
{
printf("Inserisci il titolo del libro: ");
scanf("%s", &elencolibri[i].titolo);
printf("Inserisci l'autore del libro: ");
scanf("%s", &elencolibri[i].autore);
printf("Inserisci il prezzo del libro: ");
scanf("%f", &elencolibri[i].prezzo);
}
imax= prezzomax( elencolibri, n );
printf("Il libro con prezzo piu' alto e' :%s", elencolibri[imax].titolo);
getch();
}
int prezzomax( tlibri elencolibri[] , int n )
{
int I,imax;
float ap;
ap=elencolibri[0].prezzo;
for(I=1;I<n;I++)
{
if(elencolibri[I].prezzo>ap)
imax=I;
return imax;
}
}