/* ******************************************************* * Author: Nikitas N. Karanikolas, Assistant Professor * * Creation Date: February 20, 2009 * ******************************************************* */ #include typedef struct { char name[40]; char island[20]; int single_bed; int double_bed; int twin_bed; int gt_double; char facilities[100]; } hotel_rec; char *islands[]={"Patmos", "Arki", "Lipsi", "Leros", "Kalymnos", "Pserimos", "Kos", "Astypalaia", "Nisyros", "Symi", "Tilos", "Chalki", "Rhodes", "Kastelorizo", "Karpathos", "Kasos"}; main () { hotel_rec h1; int i, k, howmany; FILE *fp; fp=fopen("hotels.dat","rb"); if (fp==NULL) { printf("Can not open Hotels.Dat for reading data"); exit(1); } do { printf("\nGive the island ("); for (i=0; isizeof(islands)/sizeof(char *))); printf("[%s]\n",islands[k-1]); do { howmany=fread(&h1,sizeof(hotel_rec),1,fp); if (howmany<1) break; if (strcmp(h1.island,islands[k-1])==0) { printf("\nname:%s, facilities:%s\n",h1.name,h1.facilities); printf("rooms single:%d, double:%d, twin:%d, greater:%d\n", h1.single_bed, h1.double_bed, h1.twin_bed, h1.gt_double); } } while (1); fclose(fp); }