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"); }

Rispondi quotando