#include #include #include #define N 5 struct Foititis { char am[10]; char epi[20]; char ono[20]; float mo; }; struct IFoititis { char am[10]; int dief; }; main () { struct Foititis f; struct IFoititis *fi, temp; int pl,m=0,i,j,synexeia; FILE *dataf,*indexf; dataf=fopen("foitites.dat","rb+"); if(!dataf) { dataf=fopen("foitites.dat","wb"); indexf=fopen("foitites.ndx","wb"); fclose(indexf); pl=0; } else { indexf=fopen("foitites.ndx","rb"); fseek(indexf,0,SEEK_END); pl=ftell(indexf) /sizeof(struct IFoititis); fclose(indexf); fseek(dataf,0,SEEK_END); } m=pl; fi=malloc((pl+N)*sizeof(struct IFoititis)); printf("\n\nEISAGWGI EGGRAFON\n\n"); do { printf("\nEisagogi am: "); scanf("%S", &f.am); printf("\nEisagwgi epithetou: "); scanf("%s", &f.epi); printf("\nEisagwgi onomatos: "); scanf("%s", &f.ono); printf("\nEisagwgi mesou orou: "); scanf("%f", &f.mo); fwrite(&f,sizeof(struct Foititis),1,dataf); strcpy(fi[m].am,f.am); fi[m].dief=m; m++; printf("\n\n Thelete nea eisagwgi (1=NAI, 0=OXI):"); scanf("&d", &synexeia); } while( synexeia==1 && m0) t=j; temp=x[i]; x[i]=x[t]; x[t]=temp; } }