ing.h gt;
# include lt; QString gt; namespace std;
# define DELTA 3
# define POS_CNT - 1
# define POS_SZ - 2
# define SIZE_AR_FIRST 5
typedef int (* cmp) (void * p, QString key); Rayon {name; square; number_zhek; ** sublev;
}; street {name; year; ** sublev;
}; house {number; square; ** sublev;
}; flat {number; cnt_room; ** sublev;
}; people {name; surname; age;
}; ray_file {name [30]; square [10]; number_szhek [10]; cnt_street;
}; street_file {name [15]; year [5]; cnt_house;
}; house_file {number [5]; square [10]; cnt_flat;
}; flat_file {number [5]; cnt_room [5]; cnt_people;
}; people_file {name [30]; surname [30]; age [5];
};
# endif//TYPES_H
ТЕКСТ ФАЙЛА prototypefunc.H
# ifndef PROTOTYPEFUNC_H
# define PROTOTYPEFUNC_H
# include types.h
# include QString
//порівняння для різних рівнів мультіспіскка
int cmpray (void * p, QString key); cmpstreet (void * p, QString key); cmphouse (void * p, QString key); cmpflat (void * p, QString key); cmppeople (void * p, QString key);
//кінець
//** initarray (); extend (void ** amp; start);
//
//очісткаclearpeople (void ** amp; start); clearflat (void ** amp; start); clearhouses (void ** amp; start); clearstreets (void ** amp; start); clearlist (void ** amp; start);
//очистка
//пошук елемента інваріантноfindel (void ** start, QString key, int amp; findpos, int amp; findok, cmp func);
//*****
//вставкаpush_order (void ** amp; start, void * data, int amp; pos);
//******
//видалення елементовremoveel (void ** amp; start, int amp; posdel); removeflat (void ** amp; start, int pos); removehouse (void ** amp; start, int pos ); removestreet (void ** amp; start, int pos); removerayon (void ** amp; start, int pos);
//*****
//доступ до елєментів списку * getcurrent (void ** start, int i);
//*****
//добавленіеadd_rayon_tolist (void ** amp; start, QString name, QString square, QString numberzhack); add_street_tolist (void ** amp; start, QString nameray, QString namestr, QString year); add_house_tolist ( void ** amp; start, QString rayname, QString streetneme, QString number, QString square); add_flat_tolist (void ** amp; start, QString rayname, QString streetname, QString numberhouse, QString number, QString cnt_room); add_people_tolist (void ** amp; start, QString rayname, QString streetname, QString numberhouse, QString numberflat, QString name, QString surname, QString age);
//******
//удаленіеdel_people (void ** amp; start, QString rayname, QString streename, QString numberhouse, QString numberflat, QString namepeople); del_flat (void ** amp; start, QString rayname, QString streetname, QString numberhouse, QString numberflat); del_house (void ** amp; start, QString rayname, QString streetname, QString numberhouse); del_street (void ** amp; start, QString rayname, QString streetname); del_rayon (void ** amp; start , QString rayname);
//**********
//поіскfind_item_ray (void ** start, QString ray_name); find_item_street (void ** start, QString rayname, QString streetname); find_item_house (void ** start, QString ray, QString streetname, QString housenumber ); find_item_flat (void ** start, QString rayname, QString streetname, QString housenumber, QString flatname); find_item_people (void ** start, QString rayname, QString streetname, QString housenumber, QString flatnumber, QString peoplename); * findrayon (void * * start, QString rayname); * findstreeet (void ** start, QString rayname, QString streetname); * findhouse (void ** start, QString rayname, QString streetname, QString housenum); * findflat (void ** start, QString rayname , QString streetname, QString housenum, QString flatnum); * findpeople (void ** start, QString rayname, QString streetname, QString housenum, QString flatnum, QString peoplename);
//робота з файламіsavelist (char * filename, void ** start); save_street (void ** start, FILE * f, int cnt_street); save_house (void ** start, FILE * f, i...