#include #include #include #define EXIT_SUCCESS 0 #define EXIT_WRONGCOMMANDLINE 1 #define EXIT_MEMORY 2 #define EXIT_OPENFILE 3 #define EXIT_WRONGINPUTFORMAT 4 #define EXIT_INCONSISTENCY 5 #define LUNGHEZZA 256 enum _boolean { FALSE = 0, TRUE = 1}; typedef enum _boolean boolean; typedef struct _struct_frammento Frammento; typedef Frammento* VettoreFrammenti; struct _struct_frammento { int PagIn; int PagFin; }; void LeggeIstruzioni (int argc, char *argv[], char *InputFile); void CaricaFrammenti (char *InputFile, int *pNumFrammenti, VettoreFrammenti *pF); void TrovaFrammentiRidondanti (int NumFrammenti, VettoreFrammenti F, boolean *Ridondante); void StampaFrammenti (int NumFrammenti, VettoreFrammenti F, boolean *Ridondante); int main (int argc, char *argv[]) { char InputFile[LUNGHEZZA+1]; int NumFrammenti; VettoreFrammenti F; boolean *Ridondante; // 1) Interpretazione della linea di comando LeggeIstruzioni(argc,argv,InputFile); // 2) Caricamento dei frammenti CaricaFrammenti(InputFile,&NumFrammenti,&F); // 3) Allocazione delle strutture dati ausiliarie Ridondante = NULL; // 4) Elaborazione TrovaFrammentiRidondanti(NumFrammenti,F,Ridondante); // 5) Stampa della soluzione StampaFrammenti(NumFrammenti,F,Ridondante); // 6) Deallocazione delle strutture dati free(F); free(Ridondante); return EXIT_SUCCESS; } void LeggeIstruzioni (int argc, char *argv[], char *InputFile) { } void CaricaFrammenti (char *InputFile, int *pNumFrammenti, VettoreFrammenti *pF) { *pF = NULL; } void TrovaFrammentiRidondanti (int NumFrammenti, VettoreFrammenti F, boolean *Ridondante) { } void StampaFrammenti (int NumFrammenti, VettoreFrammenti F, boolean *Ridondante) { }