Programma che permette di inserire un certo numero di offerte di fornitori:
- codice fornitore (numero naturale)
-Nome fornitore (array di carattere )
- importo offerta in euro (numero float)
Il programma cerca e visualizza l’offerta migliore (la più economica)
Il programma è piuttosto semplice e compila ma al momento dell'esecuzione va in crash. Vi premetto che il mio prof. di info ha spiegato le struct abbastanza maluccio e molto probabilmente sbaglio in qualcosa a livello concettuale.
Questo è il codice che ho pensato:
codice:
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
struct offerta{
int Codice_fornitore;
char Nome_fornitore[MAX];
float Importo;
};
void main()
{
int i=0,j,ind;
float miglioreoff;
int scelta;
struct offerta Off[MAX];
do{
fflush(stdin);
printf("Vuoi inserire un offerta? SI=1 NO=2\n");
scanf("%d",&scelta);
if(scelta==1)
{
printf("Inserisci codice fornitore: ");
fflush(stdin);
scanf("%d",&Off[i].Codice_fornitore);
printf("Inserisci nome fornitore: ");
fflush(stdin);
scanf("%s",Off[i].Nome_fornitore);
printf("Inserisci importo: ");
fflush(stdin);
scanf("%f",&Off[i].Importo);
i++;
}
}while(scelta == 1);
for(j=1;j<i;j++)
{
miglioreoff=Off[0].Importo;
if( Off[j].Importo> miglioreoff)
Off[j].Importo=miglioreoff;
ind=j;
}
printf("Migliore offerta: %d della azienda %s",miglioreoff,Off[ind].Nome_fornitore);
system("pause");
}