Обозначение
|
Наименование
|
Примечание
|
|
Документация
|
|
КИ 133311.005.012
|
Информационно-справочная
|
|
|
система «Управление городом»
|
|
|
Текст программы
|
|
|
|
|
КИ 133311.005.034
|
Информационно-справочная
|
|
|
система «Управление городом»
|
|
|
Руководство пользователя
|
|
|
|
|
|
Комплексы
|
|
|
Qt Creator 5.3.2
|
|
|
OC Windows 8
|
|
Приложение A
Текст программы
ТЕКСТ ФАЙЛА types.H
#ifndef TYPES_H
#define TYPES_H
#include <string>
#include <qstring.h>
#include <QString>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
**&start);
//
//очисткаclearpeople(void
**&start);clearflat(void **&start);clearhouses(void
**&start);clearstreets(void **&start);clearlist(void **&start);
//очистка
//поиск
елемента
инвариантноfindel(void
**start, QString key, int &findpos, int &findok, cmp func);
//*****
//вставкаpush_order(void
**&start, void *data, int &pos);
//******
//удаление
елементовremoveel(void
**&start, int &posdel);removeflat(void **&start, int
pos);removehouse(void **&start, int pos);removestreet(void **&start,
int pos);removerayon(void **&start, int pos);
//*****
//доступ
к
елементу
списка*getcurrent(void
**start, int i);
//*****
//добавлениеadd_rayon_tolist(void
**&start, QString name, QString square, QString
numberzhack);add_street_tolist(void **&start, QString nameray, QString
namestr, QString year);add_house_tolist(void **&start, QString rayname,
QString streetneme, QString number, QString square);add_flat_tolist(void
**&start, QString rayname, QString streetname, QString numberhouse, QString
number, QString cnt_room);add_people_tolist(void **&start, QString rayname,
QString streetname, QString numberhouse, QString numberflat, QString name,
QString surname, QString age);
//******
//удалениеdel_people(void
**&start, QString rayname, QString streename, QString numberhouse, QString
numberflat, QString namepeople);del_flat(void **&start, QString rayname,
QString streetname, QString numberhouse, QString numberflat);del_house(void **&start,
QString rayname, QString streetname, QString numberhouse);del_street(void
**&start, QString rayname, QString streetname);del_rayon(void **&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, int cnt_house);save_flat(void
**start, FILE *f, int cnt_flat);save_peopleslist(void **start, FILE *f, int
cnt_people);loadlist(char *filename, void **&start);load_street(void
**&start, FILE *f, int cnt_street);load_house(void **&start, FILE *f,
int cnt_house);load_flat(void **&start, FILE *F, int
cnt_flat);load_peoplelist(void **&start, FILE *f, int cnt_people);
//конец
#endif // PROTOTYPEFUNC_H
ТЕКСТ ФАЙЛА FUNCTIONS.CPP
#include "types.h"
#include <QString>
#include "qstring.h"
#include "prototypefunc.h"
#include <iostream>namespace
std;cmppeople(void *p, QString key){(((people*)p)->name==key){0;
}(((people*)p)->name>key){1;
}(((people*)p)->name<key){-1;
}cmpflat(void *p, QString
key){(((flat*)p)->number==key){0;
}(((flat*)p)->number>key){1;
}(((flat*)p)->number<key){-1;
}cmphouse(void *p, QString
key){(((house*)p)->number==key){0;
}(((house*)p)->number>key){1;
}(((house*)p)->number<key){-1;
}cmpstreet(void *p, QString
key){(((street*)p)->name==key){0;
}(((street*)p)->name>key){1;
}(((street*)p)->name<key){-1;
}cmpray(void *p, QString
key){(((Rayon*)p)->name==key){0;
}(((Rayon*)p)->name>key){1;
}(((Rayon*)p)->name<key){-1;
}**initarray(){**p=new
void*[SIZE_AR_FIRST+2];
p=p+2;
((int*)p)[POS_CNT]=0;
((int*)p)[POS_SZ]=SIZE_AR_FIRST;p;
}extend(void
**&start){size=((int*)start)[POS_SZ];cnt=((int*)start)[POS_CNT];=size+DELTA;**p=new
void*[size];
((int*)p)[POS_SZ]=size;
((int*)p)[POS_CNT]=cnt;
for(int
i=0;i<(size-DELTA);i++){[i]=start[i];
}=p;
}findel(void **start, QString key,
int &findpos, int &findok, cmp func){hi, low,
middl;resultcmp;=0;(((int*)start)[POS_CNT]==0){=0;;
}=0;=((int*)start)[POS_CNT]-1;(low<=hi){=(hi+low)/2;=func(start[middl],
key);(resultcmp==0){=middl;=1;;
}(resultcmp==1){=middl-1;
}else{=middl+1;
}=low;
}removeel(void **&start, int
&posdel){cnt=((int*)start)[POS_CNT];*wp=start[posdel];(int
i=posdel;i<cnt;i++){[i]=start[i+1];
}(wp);-;
((int*)start)[POS_CNT]=cnt;
}clearpeople(void
**&start){cnt=((int*)start)[POS_CNT];p=0;(int i=0;i<cnt;i++){(start, p);
}removeflat(void **&start, int
pos){(((flat*)start[pos])->sublev);(start, pos);
}clearflat(void
**&start){cnt=((int*)start)[POS_CNT];p=0;(int i=0;i<cnt;i++){(start, p);
}removehouse(void **&start, int
pos){(((house*)start[pos])->sublev);(start, pos);
}clearhouses(void
**&start){cnt=((int*)start)[POS_CNT];p=0;(int i=0;i<cnt;i++){(start, p);
}removestreet(void **&start, int
pos){(((street*)start[pos])->sublev);(start, pos);
}clearstreets(void
**&start){cnt=((int*)start)[POS_CNT];p=0;(int i=0;i<cnt;i++){(start, p);
}removerayon(void **&start, int
pos){(((Rayon*)start[pos])->sublev);(start, pos);
}clearlist(void **&start){cnt=((int*)start)[POS_CNT];p=0;(int
i=0;i<cnt;i++){(start, p);
}push_order(void **&start, void
*data, int
&pos){cnt=((int*)start)[POS_CNT];sz=((int*)start)[POS_SZ];(cnt==sz){(start);
}(pos==cnt){[pos]=data;
}else{(int
i=cnt-1;i>=pos;i--){[i+1]=start[i];
}[pos]=data;
}
((int*)start)[POS_CNT]++;
}*getcurrent(void **start, int
i){start[i];
}savelist(char *filename, void
**start){*f=fopen(filename, "wb");(f==NULL){0;
}cnt_ray;i;_file
_ray;_ray=((int*)start)[POS_CNT];(cnt_ray==0){1;
}(&cnt_ray, sizeof(cnt_ray), 1,
f);(i=0;i<cnt_ray;i++){name, square,
numberzhack;*wp=(Rayon*)getcurrent(start,
i);=wp->name;=wp->square;=wp->number_zhek;(_ray.name,
name.toLatin1().data());(_ray.square,
square.toLatin1().data());(_ray.number_szhek, numberzhack.toLatin1().data());cnt_street=((int*)wp->sublev)[POS_CNT];
_ray.cnt_street=cnt_street;(&_ray,
sizeof(_ray), 1, f);(cnt_street!=0){_street(wp->sublev, f, cnt_street);
}(f);1;
}save_street(void **start, FILE *f,
int cnt_street){_file streetf;i;(i=0;i<cnt_street;i++){name, year;*emp=(street*)getcurrent(start,
i);=emp->name;=emp->year;(streetf.name,
name.toLatin1().data());(streetf.year,
year.toLatin1().data());cnt_house=((int*)emp->sublev)[POS_CNT];.cnt_house=cnt_house;(&streetf,
sizeof(streetf), 1, f);(cnt_house!=0){_house(emp->sublev, f, cnt_house);
}1;
}save_house(void **start, FILE *f,
int cnt_house){_file housef;i;(i=0;i<cnt_house;i++){number,
square;*pointer=(house*)getcurrent(start,
i);=pointer->number;=pointer->square;(housef.number,
number.toLatin1().data());(housef.square, square.toLatin1().data());cnt_flat=((int*)pointer->sublev)[POS_CNT];.cnt_flat=cnt_flat;(&housef,
sizeof(housef), 1, f);(cnt_flat!=0){_flat(pointer->sublev, f, cnt_flat);
}1;
}save_flat(void **start, FILE *f,
int cnt_flat){_file flatf;i;(i=0;i<cnt_flat;i++){number,
cnt_room;*pp=(flat*)getcurrent(start,
i);=pp->number;_room=pp->cnt_room;(flatf.number,
number.toLatin1().data());(flatf.cnt_room,
cnt_room.toLatin1().data());cntpeople=((int*)pp->sublev)[POS_CNT];.cnt_people=cntpeople;(&flatf,
sizeof(flatf), 1, f);(cntpeople!=0){_peopleslist(pp->sublev, f, cntpeople);
}1;
}save_peopleslist(void **start, FILE
*f, int cnt_people){_file peoplw;i;(i=0;i<cnt_people;i++){name, surname,
age;*lp=(people*)getcurrent(start,
i);=lp->name;=lp->surname;=lp->age;(peoplw.name, name.toLatin1().data());(peoplw.surname,
surname.toLatin1().data());(peoplw.age, age.toLatin1().data());(&peoplw,
sizeof(peoplw), 1, f);
}1;
}loadlist(char *filename, void
**&start){*f=fopen(filename, "rb");(f==NULL){0;
}countray;_file
s_ray;*read;i;(&countray, sizeof(countray), 1, f);(countray==0){1;
}(i=0;i<countray;i++){(&s_ray,
sizeof(s_ray), 1, f);=new Rayon;
((Rayon*)read)->name=s_ray.name;
((Rayon*)read)->number_zhek=s_ray.number_szhek;
((Rayon*)read)->square=s_ray.square;
((Rayon*)read)->sublev=initarray();posadd,
loop;(start, s_ray.name, posadd, loop, cmpray);_order(start, read,
posadd);cnt_street=s_ray.cnt_street;(cnt_street!=0){_street(((Rayon*)read)->sublev,
f, cnt_street);
}(f);1;
}load_street(void **&start, FILE
*f, int cnt_street){_file fstret;*val;i;(i=0;i<cnt_street;i++){(&fstret,
sizeof(fstret), 1, f);=new street;
((street*)val)->name=fstret.name;
((street*)val)->year=fstret.year;
((street*)val)->sublev=initarray();posadd,
lop;(start, fstret.name, posadd, lop, cmpstreet);_order(start, val,
posadd);cnt_house=fstret.cnt_house;(cnt_house!=0){_house(((street*)val)->sublev,
f, cnt_house);
}1;
}load_house(void **&start, FILE
*f, int cnt_house){_file fhouse;*readp;i;(i=0;i<cnt_house;i++){(&fhouse,
sizeof(fhouse), 1, f);=new house;
((house*)readp)->number=fhouse.number;
((house*)readp)->square=fhouse.square;
((house*)readp)->sublev=initarray();posadd,
zaloop;(start, fhouse.number, posadd, zaloop, cmphouse);_order(start, readp,
posadd);cntflat=fhouse.cnt_flat;(cntflat!=0){_flat(((house*)readp)->sublev,
f, cntflat);
}1;
}load_flat(void **&start, FILE
*F, int cnt_flat){_file flatf;*sread;i;(i=0;i<cnt_flat;i++){(&flatf,
sizeof(flatf), 1, F);=new flat;
((flat*)sread)->number=flatf.number;
((flat*)sread)->cnt_room=flatf.cnt_room;
((flat*)sread)->sublev=initarray();posadd,
lop;(start, flatf.number, posadd, lop, cmpflat);_order(start, sread,
posadd);cntpeople=flatf.cnt_people;(cntpeople!=0){_peoplelist(((flat*)sread)->sublev,
F, cntpeople);
}1;
}load_peoplelist(void **&start,
FILE *f, int cnt_people){_file
fpeop;*poin;i;(i=0;i<cnt_people;i++){(&fpeop, sizeof(fpeop), 1, f);=new
people;
((people*)poin)->age=fpeop.age;
((people*)poin)->name=fpeop.name;
((people*)poin)->surname=fpeop.surname;posadd,
lop;(start, fpeop.name, posadd, lop, cmppeople);_order(start, poin, posadd);
}1;
}add_rayon_tolist(void **&start,
QString name, QString square, QString numberzhack){pos_ray, loop;*pnew=new
Rayon;
((Rayon*)pnew)->name=name;
((Rayon*)pnew)->number_zhek=numberzhack;
((Rayon*)pnew)->square=square;
((Rayon*)pnew)->sublev=initarray();(start,
name, pos_ray, loop, cmpray);_order(start, pnew, pos_ray);
}add_street_tolist(void
**&start, QString nameray, QString namestr, QString year){pos_ray=0,
pos_street=0, loop=0;(start, nameray, pos_ray, loop, cmpray);(loop==0){;
}*pnew=new street;
((street*)pnew)->name=namestr;
((street*)pnew)->year=year;
((street*)pnew)->sublev=initarray();(((Rayon*)(start[pos_ray]))->sublev,
namestr, pos_street, loop, cmpstreet);_order(((Rayon*)start[pos_ray])->sublev,
pnew, pos_street);
}add_house_tolist(void **&start,
QString rayname, QString streetneme, QString number, QString square){posray,
posstreet, poshouse, looppos;(start, rayname, posray, looppos,
cmpray);(looppos==0){;
}(((Rayon*)start[posray])->sublev,
streetneme, posstreet, looppos, cmpstreet);(looppos==0){;
}*pnew=new house;
((house*)pnew)->number=number;
((house*)pnew)->square=square;
((house*)pnew)->sublev=initarray();(((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev,
number, poshouse, looppos,
cmphouse);_order(((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev,
pnew, poshouse);
}add_flat_tolist(void **&start,
QString rayname, QString streetname, QString numberhouse, QString number,
QString cnt_room){posray, posstreet, poshouse, posflat, loop;(start, rayname,
posray, loop, cmpray);(loop==0){;
}(((Rayon*)start[posray])->sublev,
streetname, posstreet, loop, cmpstreet);(loop==0){;
}(((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev,
numberhouse, poshouse, loop, cmphouse);(loop==0){;
}*pnew=new flat;
((flat*)pnew)->number=number;
((flat*)pnew)->cnt_room=cnt_room;
((flat*)pnew)->sublev=initarray();(((house*)((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev[poshouse])->sublev,
number, posflat, loop,
cmpflat);_order(((house*)((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev[poshouse])->sublev,
pnew, posflat);
}add_people_tolist(void
**&start, QString rayname, QString streetname, QString numberhouse, QString
numberflat, QString name, QString surname, QString age){posray, posstreet,
poshouse, posflat, pospeople, turn;(start, rayname, posray, turn,
cmpray);(turn==0){;
}(((Rayon*)start[posray])->sublev,
streetname, posstreet, turn, cmpstreet);(turn==0){;
}(((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev,
numberhouse, poshouse, turn, cmphouse);(turn==0){;
}(((house*)((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev[poshouse])->sublev,
numberflat, posflat, turn, cmpflat);(turn==0){;
}*pnew=new people;
((people*)pnew)->name=name;
((people*)pnew)->surname=surname;
((people*)pnew)->age=age;(((flat*)((house*)((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev[poshouse])->sublev[posflat])->sublev,
name, pospeople, turn,
cmppeople);_order(((flat*)((house*)((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev[poshouse])->sublev[posflat])->sublev,
pnew, pospeople);
}del_rayon(void **&start,
QString rayname){delpos, turn;(start, rayname, delpos, turn,
cmpray);(turn==0){;
}(start, delpos);
}del_street(void **&start,
QString rayname, QString streetname){posray, posstreet, turn;(start, rayname,
posray, turn, cmpray);(turn==0){;
}(((Rayon*)start[posray])->sublev,
streetname, posstreet, turn, cmpstreet);(turn==0){;
}(((Rayon*)start[posray])->sublev,
posstreet);
}del_house(void **&start,
QString rayname, QString streetname, QString numberhouse){posray, posstreet,
poshouse, turn;(start, rayname, posray, turn, cmpray);(turn==0){;
}(((Rayon*)start[posray])->sublev,
streetname, posstreet, turn, cmpstreet);(turn==0){;
}(((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev,
numberhouse, poshouse, turn, cmphouse);(turn==0){;
}(((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev,
poshouse);
}del_flat(void **&start, QString
rayname, QString streetname, QString numberhouse, QString numberflat){posray,
posstreet, poshouse, posflat, turn;(start, rayname, posray, turn,
cmpray);(turn==0){;
}(((Rayon*)start[posray])->sublev,
streetname, posstreet, turn, cmpstreet);(turn==0){;
}(((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev,
numberhouse, poshouse, turn, cmphouse);(turn==0){;
}(((house*)((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev[poshouse])->sublev,
numberflat, posflat, turn, cmpflat);(turn==0){;
}(((house*)((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev[poshouse])->sublev,
posflat);
}(((Rayon*)start[posray])->sublev,
streename, posstreet, perekluchatel, cmpstreet);(perekluchatel==0){;
}(((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev,
numberhouse, poshouse, perekluchatel, cmphouse);(perekluchatel==0){;
}(((house*)((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev[poshouse])->sublev,
numberflat, posflat, perekluchatel, cmpflat);(perekluchatel==0){;
}(((flat*)((house*)((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev[poshouse])->sublev[posflat])->sublev,
namepeople, pospeople, perekluchatel, cmppeople);(perekluchatel==0){;
}(((flat*)((house*)((street*)((Rayon*)start[posray])->sublev[posstreet])->sublev[poshouse])->sublev[posflat])->sublev,
pospeople);
}
//**********************************************find_item_ray(void
**start, QString ray_name){pos_trig, pos_ray;(start, ray_name, pos_ray,
pos_trig, cmpray);(pos_trig==1){true;
}else{false;
}
void *findrayon(void **start,
QString rayname){pos_trig, pos_ray;(start, rayname, pos_ray, pos_trig,
cmpray);start[pos_ray];
}find_item_street(void **start,
QString rayname, QString streetname){pos_trig, posray, posstr;(start, rayname,
posray, pos_trig, cmpray);(pos_trig==0){false;
}(((Rayon*)start[posray])->sublev,
streetname, posstr, pos_trig, cmpstreet);(pos_trig==0){false;
}else{true;
}*findstreeet(void **start, QString
rayname, QString streetname){pos_trig, posray, posstr;(start, rayname, posray,
pos_trig, cmpray);(((Rayon*)start[posray])->sublev, streetname, posstr,
pos_trig, cmpstreet);((Rayon*)start[posray])->sublev[posstr];
}find_item_house(void **start,
QString ray, QString streetname, QString housenumber){pos_trig, posray, posstr,
poshouse;(start, ray, posray, pos_trig, cmpray);(pos_trig==0){false;
}(((Rayon*)start[posray])->sublev,
streetname, posstr, pos_trig, cmpstreet);(pos_trig==0){false;
}(((street*)((Rayon*)start[posray])->sublev[posstr])->sublev,
housenumber, poshouse, pos_trig, cmphouse);(pos_trig==0){false;
}else{true;
}*findhouse(void **start, QString
rayname, QString streetname, QString housenum){pos_trig, posray, posstr,
poshouse;(start, rayname, posray, pos_trig, cmpray);(((Rayon*)start[posray])->sublev,
streetname, posstr, pos_trig,
cmpstreet);(((street*)((Rayon*)start[posray])->sublev[posstr])->sublev,
housenum, poshouse, pos_trig,
cmphouse);((street*)((Rayon*)start[posray])->sublev[posstr])->sublev[poshouse];
}find_item_flat(void **start,
QString rayname, QString streetname, QString housenumber, QString
flatname){postrig, posray, posstr, poshouse, posflat;(start, rayname, posray,
postrig, cmpray);(postrig==0){false;
}(((Rayon*)start[posray])->sublev,
streetname, posstr, postrig, cmpstreet);(postrig==0){false;
}(((street*)((Rayon*)start[posray])->sublev[posstr])->sublev,
housenumber, poshouse, postrig, cmphouse);(postrig==0){false;
}(((house*)((street*)((Rayon*)start[posray])->sublev[posstr])->sublev[poshouse])->sublev,
flatname, posflat, postrig, cmpflat);(postrig==0){false;
}else{true;
}*findflat(void **start, QString
rayname, QString streetname, QString housenum, QString flatnum){postrig,
posray, posstr, poshouse, posflat;(start, rayname, posray, postrig,
cmpray);(((Rayon*)start[posray])->sublev, streetname, posstr, postrig,
cmpstreet);(((street*)((Rayon*)start[posray])->sublev[posstr])->sublev,
housenum, poshouse, postrig, cmphouse);(((house*)((street*)((Rayon*)start[posray])->sublev[posstr])->sublev[poshouse])->sublev,
flatnum, posflat, postrig,
cmpflat);((house*)((street*)((Rayon*)start[posray])->sublev[posstr])->sublev[poshouse])->sublev[posflat];
}find_item_people(void **start, QString
rayname, QString streetname, QString housenumber, QString flatnumber, QString
peoplename){posray, posstr, poshouse, posflat, pospeople, postrig;(start,
rayname, posray, postrig, cmpray);(postrig==0){false;
}(((Rayon*)start[posray])->sublev,
streetname, posstr, postrig, cmpstreet);(postrig==0){false;
}(((street*)((Rayon*)start[posray])->sublev[posstr])->sublev,
housenumber, poshouse, postrig, cmphouse);(postrig==0){false;
}(((house*)((street*)((Rayon*)start[posray])->sublev[posstr])->sublev[poshouse])->sublev,
flatnumber, posflat, postrig, cmpflat);(postrig==0){false;
}(((flat*)((house*)((street*)((Rayon*)start[posray])->sublev[posstr])->sublev[poshouse])->sublev[posflat])->sublev,
peoplename, pospeople, postrig, cmppeople);(postrig==0){false;
}else{true;
}*findpeople(void **start, QString
rayname, QString streetname, QString housenum, QString flatnum, QString
peoplename){posray, posstr, poshouse, posflat, pospeople, postrig;(start,
rayname, posray, postrig, cmpray);(((Rayon*)start[posray])->sublev, streetname,
posstr, postrig,
cmpstreet);(((street*)((Rayon*)start[posray])->sublev[posstr])->sublev,
housenum, poshouse, postrig,
cmphouse);(((house*)((street*)((Rayon*)start[posray])->sublev[posstr])->sublev[poshouse])->sublev,
flatnum, posflat, postrig, cmpflat);(((flat*)((house*)((street*)((Rayon*)start[posray])->sublev[posstr])->sublev[poshouse])->sublev[posflat])->sublev,
peoplename, pospeople, postrig,
cmppeople);((flat*)((house*)((street*)((Rayon*)start[posray])->sublev[posstr])->sublev[poshouse])->sublev[posflat])->sublev[pospeople];
}
ТЕКСТ ФАЙЛА MAINWINDOW.H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "QMessageBox"Ui {MainWindow;
}MainWindow : public QMainWindow
{_OBJECT:MainWindow(QWidget *parent = 0);
~MainWindow();slots:
void
on_call_manu_add_rayon_button_clicked();on_lineEdit_data_1_textChanged(const
QString
&arg1);on_pushButton_addrayon_clicked();on_call_menu_add_street_button_clicked();on_lineEdit_rayname_textChanged(const
QString &arg1);on_pushButton_next_1_clicked();on_pushButton_addstreet_clicked();on_call_menu_add_house_button_clicked();on_lineEdit_streetname_textChanged(const
QString &arg1);on_lineEdit_housenum_textChanged(const QString
&arg1);on_lineEdit_flatnum_textChanged(const QString
&arg1);on_lineEdit_peoplename_textChanged(const QString
&arg1);on_pushButton_next_2_clicked();on_pushButton_addhouse_clicked();on_call_menu_add_flat_button_clicked();on_pushButton_next_3_clicked();on_pushButton_addflat_clicked();on_call_menu_add_people_button_clicked();on_pushButton_next_4_clicked();on_pushButton_addpeople_clicked();on_checkBox_clearlist_clicked();on_checkBox_removeel_clicked();on_call_remove_menu_button_clicked();on_pushButton_delrayon_clicked();on_pushButton_delstreet_clicked();on_pushButton_delhouse_clicked();on_pushButton_delflat_clicked();on_pushButton_delpeople_clicked();
void on_pushButton_clicked();
void
on_pushButton_2_clicked();on_pushButton_cancelfind_clicked();on_pushButton_findray_clicked();on_lineEdit_findray_textChanged(const
QString &arg1);on_lineEdit_findstreet_textChanged(const QString
&arg1);on_lineEdit_findhouse_textChanged(const QString
&arg1);on_lineEdit_findflat_textChanged(const QString
&arg1);on_lineEdit_findpeople_textChanged(const QString &arg1);
void on_okbuttonrep_clicked();
void
on_pushButton_repray_clicked();on_zamena1_textChanged(const QString
&arg1);on_ray_zam_clicked();on_pushButton_finstreet_clicked();on_pushButton_replacestreet_clicked();on_streetzam_clicked();on_cancelrepname_clicked();on_pushButton_findhouse_clicked();on_pushButton_replacehouse_clicked();
void on_housezam_clicked();
void
on_pushButton_findflat_clicked();on_pushButton_replaceflat_clicked();
void on_flatzam_clicked();
void
on_pushButton_findpeople_clicked();on_pushButton_replacepeople_clicked();on_peoplezam_clicked();on_pushButton_save_clicked();on_pushButton_load_clicked();:::MainWindow
*ui;**start;p1, p2, p3, p4, p5, p6, p7, p8;
QMessageBox *val;shovtree();
};
ТЕКСТ ФАЙЛА MAINWINDOW.CPP
#include
"mainwindow.h"
#include
"ui_mainwindow.h"
#include
"prototypefunc.h"
MainWindow::MainWindow(QWidget
*parent) ://конструктор
QMainWindow(parent),
ui(new
Ui::MainWindow){
ui->setupUi(this);
this->start=initarray();
val=new
QMessageBox;
ui->global_add_and_remove_menu->hide();>global_input_data_menu->hide();>findBox->hide();>findBox->setTitle("окно
поиска");>replace_box->setTitle("меню
замены");>replace_box->hide();>resultfind->hide();>ray_zam->hide();>streetzam->hide();>housezam->hide();>flatzam->hide();>peoplezam->hide();>tableWidget->setColumnCount(2);>tableWidget->hide();>treeWidget->setHeaderLabel("spisok");
}::~MainWindow()//деструктор
{ui;
}MainWindow::on_call_manu_add_rayon_button_clicked(){//действие
выполняемое
по
нажатию
кнопки
добавить
район(готовит
меню
для
его
добавления)>global_add_and_remove_menu->setTitle("меню
добавления");>global_add_and_remove_menu->show();>global_input_data_menu->setTitle("данные
про
район");>global_input_data_menu->show();>lineEdit_flatnum->hide();>lineEdit_housenum->hide();>lineEdit_peoplename->hide();>lineEdit_rayname->hide();>lineEdit_streetname->hide();>label_5->hide();>label_6->hide();>label_7->hide();>label_8->hide();>label_9->hide();>pushButton_delrayon->hide();>pushButton_delstreet->hide();>pushButton_delhouse->hide();>pushButton_delflat->hide();>pushButton_delpeople->hide();>pushButton_next_1->hide();>pushButton_next_2->hide();>pushButton_next_3->hide();>pushButton_next_4->hide();>pushButton_addstreet->hide();>pushButton_addhouse->hide();>pushButton_addflat->hide();>pushButton_addpeople->hide();>label_data_1->setText("название");>label_data_2->setText("площадь");>label_data_3->setText("номер
жека");>label_data_1->show();>label_data_2->show();>label_data_3->show();>lineEdit_data_1->show();>lineEdit_data_2->show();>lineEdit_data_3->show();>call_manu_add_rayon_button->setEnabled(false);>call_menu_add_flat_button->setEnabled(false);>call_menu_add_house_button->setEnabled(false);>call_menu_add_people_button->setEnabled(false);>call_menu_add_street_button->setEnabled(false);>call_remove_menu_button->setEnabled(false);>pushButton_save->setEnabled(false);>pushButton_load->setEnabled(false);>checkBox_clearlist->setEnabled(false);>checkBox_removeel->setEnabled(false);>pushButton_addrayon->setEnabled(false);>pushButton_addrayon->show();>lineEdit_rayname->hide();
}MainWindow::on_lineEdit_data_1_textChanged(const
QString &arg1){//для избегания
добавления
безымянного
елемента(arg1==NULL){>pushButton_addrayon->setEnabled(false);>pushButton_addflat->setEnabled(false);>pushButton_addhouse->setEnabled(false);>pushButton_addpeople->setEnabled(false);>pushButton_addstreet->setEnabled(false);
}else{>pushButton_addrayon->setEnabled(true);>pushButton_addflat->setEnabled(true);>pushButton_addhouse->setEnabled(true);>pushButton_addpeople->setEnabled(true);>pushButton_addstreet->setEnabled(true);
}MainWindow::on_pushButton_addrayon_clicked()//
кнопка
добавляет
район
в
мультисписок
{=ui->lineEdit_data_1->text();=ui->lineEdit_data_2->text();=ui->lineEdit_data_3->text();_rayon_tolist(start,
p1, p2, p3);>lineEdit_data_1->clear();>lineEdit_data_2->clear();>lineEdit_data_3->clear();>lineEdit_flatnum->show();>lineEdit_housenum->show();>lineEdit_peoplename->show();>lineEdit_rayname->show();>lineEdit_streetname->show();>label_5->show();>label_6->show();>label_7->show();>label_8->show();>label_9->show();>pushButton_delrayon->show();>pushButton_delstreet->show();>pushButton_delhouse->show();>pushButton_delflat->show();>pushButton_delpeople->show();>pushButton_next_1->show();>pushButton_next_2->show();>pushButton_next_3->show();>pushButton_next_4->show();>pushButton_addstreet->show();>pushButton_addhouse->show();>pushButton_addflat->show();>pushButton_addpeople->show();>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_addrayon->setEnabled(true);>global_input_data_menu->hide();>global_add_and_remove_menu->hide();>treeWidget->clear();>shovtree();
}
void
MainWindow::on_call_menu_add_street_button_clicked(){//кнопка
вызова меню для добавления улицы(готовит прогу для приема данных)
ui->global_add_and_remove_menu->setTitle("меню
добавления");>global_add_and_remove_menu->show();>global_input_data_menu->hide();
ui->label_5->setText(" название
района");
ui->label_5->show();>lineEdit_rayname->show();>pushButton_next_1->setEnabled(false);>pushButton_next_1->show();>pushButton_next_2->hide();>pushButton_next_3->hide();>pushButton_next_4->hide();>lineEdit_rayname->show();>lineEdit_streetname->hide();>lineEdit_housenum->hide();>lineEdit_flatnum->hide();>lineEdit_peoplename->hide();>label_6->hide();>label_7->hide();>label_8->hide();>label_9->hide();>pushButton_delflat->hide();>pushButton_delhouse->hide();>pushButton_delpeople->hide();>pushButton_delrayon->hide();>pushButton_delstreet->hide();>call_manu_add_rayon_button->setEnabled(false);>call_menu_add_flat_button->setEnabled(false);>call_menu_add_house_button->setEnabled(false);>call_menu_add_people_button->setEnabled(false);>call_menu_add_street_button->setEnabled(false);>call_remove_menu_button->setEnabled(false);>checkBox_clearlist->setEnabled(false);>checkBox_removeel->setEnabled(false);>pushButton_save->setEnabled(false);>pushButton_load->setEnabled(false);>lineEdit_rayname->setEnabled(true);
}
void
MainWindow::on_lineEdit_rayname_textChanged(const
QString &arg1){//для
избегания поиска безимянного района
if(arg1==NULL){>pushButton_next_1->setEnabled(false);>pushButton_delrayon->setEnabled(false);
}else{>pushButton_next_1->setEnabled(true);>pushButton_delrayon->setEnabled(true);
}
MainWindow::on_pushButton_next_1_clicked(){//
кнопка которая передает управление на след команнду готовит меню для ввода
данных про улицу
p1=ui->lineEdit_rayname->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{>lineEdit_rayname->setEnabled(false);>pushButton_next_1->setEnabled(false);>global_input_data_menu->show();>pushButton_addstreet->show();>pushButton_addhouse->hide();>pushButton_addflat->hide();>pushButton_addpeople->hide();>pushButton_addrayon->hide();>label_data_3->hide();>lineEdit_data_3->hide();>global_input_data_menu->setTitle("данные
про
улицу");>label_data_1->setText("название");>label_data_2->setText("возраст");
}
void
MainWindow::on_pushButton_addstreet_clicked(){//кнопка
добавляет улицу в мультисписок
p2=ui->lineEdit_data_1->text();=ui->lineEdit_data_2->text();_street_tolist(this->start,
this->p1, this->p2,
this->p3);>global_add_and_remove_menu->hide();>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>lineEdit_rayname->clear();>lineEdit_data_1->clear();>lineEdit_data_2->clear();>treeWidget->clear();>shovtree();
}MainWindow::on_call_menu_add_house_button_clicked(){//кнопка
вызова
меню
добавления
дома
в
мультисписок
ui->call_manu_add_rayon_button->setEnabled(false);>call_menu_add_flat_button->setEnabled(false);>call_menu_add_house_button->setEnabled(false);>call_menu_add_people_button->setEnabled(false);>call_menu_add_street_button->setEnabled(false);>call_remove_menu_button->setEnabled(false);>checkBox_clearlist->setEnabled(false);>checkBox_removeel->setEnabled(false);>pushButton_save->setEnabled(false);>pushButton_load->setEnabled(false);>global_add_and_remove_menu->setTitle("меню
добавления");>global_add_and_remove_menu->show();>lineEdit_flatnum->hide();>lineEdit_housenum->hide();>lineEdit_peoplename->hide();>pushButton_next_1->hide();>pushButton_next_3->hide();>pushButton_next_4->hide();>label_7->hide();>label_8->hide();>label_9->hide();>pushButton_delflat->hide();>pushButton_delhouse->hide();>pushButton_delpeople->hide();>pushButton_delrayon->hide();>pushButton_delstreet->hide();>label_5->setText("район");>label_6->setText("улица");>label_5->show();>label_6->show();>lineEdit_rayname->setEnabled(true);>lineEdit_streetname->setEnabled(true);>lineEdit_streetname->show();>pushButton_next_2->show();>pushButton_next_2->setEnabled(false);>global_input_data_menu->hide();
}
void MainWindow::on_lineEdit_streetname_textChanged(const
QString &arg1)//для избегания
ввода
безимянной
улицы
{(arg1==NULL){>pushButton_next_2->setEnabled(false);>pushButton_delstreet->setEnabled(false);
}else{>pushButton_delstreet->setEnabled(true);>pushButton_next_2->setEnabled(true);
}
}
void
MainWindow::on_lineEdit_housenum_textChanged(const
QString &arg1)//для
избегания ввода безимянного дома
if(arg1==NULL){>pushButton_next_3->setEnabled(false);>pushButton_delhouse->setEnabled(false);
}else{>pushButton_next_3->setEnabled(true);>pushButton_delhouse->setEnabled(true);
void
MainWindow::on_lineEdit_flatnum_textChanged(const
QString &arg1)//для
избегания ввода безимянного дома
if(arg1==NULL){>pushButton_next_4->setEnabled(false);>pushButton_delflat->setEnabled(false);>pushButton_next_4->setEnabled(true);>pushButton_delflat->setEnabled(true);
void
MainWindow::on_lineEdit_peoplename_textChanged(const
QString &arg1)//для
избегания ввода безимянного человека
if(arg1==NULL){>pushButton_delpeople->setEnabled(false);
}else{>pushButton_delpeople->setEnabled(true);
void
MainWindow::on_pushButton_next_2_clicked()//кнопка
далее
для
добавления
дома
p1=ui->lineEdit_rayname->text();=ui->lineEdit_streetname->text();(!find_item_ray(start,
p1)){
val->setText(" ошыбка, нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{>pushButton_next_2->setEnabled(false);>lineEdit_rayname->setEnabled(false);>lineEdit_streetname->setEnabled(false);>global_input_data_menu->setTitle("данные
про
дом");>global_input_data_menu->show();>pushButton_addstreet->hide();>pushButton_addhouse->show();>label_data_1->setText("
номер
");>label_data_2->setText(" площадь");
}
void
MainWindow::on_pushButton_addhouse_clicked(){//добавляет
дом в мультисписок
p3=ui->lineEdit_data_1->text();=ui->lineEdit_data_2->text();_house_tolist(start,
p1, p2, p3,
p4);>global_add_and_remove_menu->hide();>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>lineEdit_rayname->clear();>lineEdit_data_1->clear();>lineEdit_data_2->clear();>lineEdit_streetname->clear();>treeWidget->clear();>shovtree();
}
void
MainWindow::on_call_menu_add_flat_button_clicked(){//кнопка
вызова меню добавления квартиры в мультисписок
ui->call_manu_add_rayon_button->setEnabled(false);>call_menu_add_flat_button->setEnabled(false);>call_menu_add_house_button->setEnabled(false);>call_menu_add_people_button->setEnabled(false);>call_menu_add_street_button->setEnabled(false);>call_remove_menu_button->setEnabled(false);>checkBox_clearlist->setEnabled(false);>checkBox_removeel->setEnabled(false);>pushButton_save->setEnabled(false);>pushButton_load->setEnabled(false);>global_add_and_remove_menu->setTitle("меню
добавления");>global_add_and_remove_menu->show();>lineEdit_rayname->setEnabled(true);>lineEdit_rayname->show();>lineEdit_streetname->setEnabled(true);>lineEdit_streetname->show();>lineEdit_housenum->setEnabled(true);>lineEdit_housenum->show();>lineEdit_flatnum->hide();>lineEdit_peoplename->hide();>pushButton_next_1->hide();>pushButton_next_2->hide();>pushButton_next_3->show();>pushButton_next_4->hide();>pushButton_next_3->setEnabled(false);>pushButton_delflat->hide();>pushButton_delhouse->hide();>pushButton_delpeople->hide();>pushButton_delrayon->hide();>pushButton_delstreet->hide();>label_8->hide();>label_9->hide();>label_5->setText("район");>label_6->setText("улица");>label_7->setText("номер
дома");>label_5->show();>label_6->show();>label_7->show();>global_input_data_menu->hide();>pushButton_addhouse->hide();
}=ui->lineEdit_rayname->text();=ui->lineEdit_streetname->text();=ui->lineEdit_housenum->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();(!find_item_street(start,
p1, p2)){
val->setText("ннет такой улицы");
val->show();(!find_item_house(start,
p1, p2, p3)){
val->setText("нет такого дома");
val->show();>global_input_data_menu->setTitle("данные
про
квартиру");>global_input_data_menu->show();>pushButton_addflat->show();>label_data_1->setText("номер");
ui->label_data_2->setText("количество
комнат");
ui->label_data_1->show();>label_data_2->show();>lineEdit_rayname->hide();>lineEdit_streetname->hide();>lineEdit_housenum->hide();>pushButton_next_3->hide();>label_5->hide();>label_6->hide();>label_7->hide();
}
void
MainWindow::on_pushButton_addflat_clicked(){//кнопка
которая добавляет квартиру в мультисписок
p4=ui->lineEdit_data_1->text();=ui->lineEdit_data_2->text();_flat_tolist(start,
p1, p2, p3, p4,
p5);>global_add_and_remove_menu->hide();>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>lineEdit_rayname->clear();>lineEdit_data_1->clear();>lineEdit_data_2->clear();>lineEdit_streetname->clear();>lineEdit_housenum->clear();>treeWidget->clear();>shovtree();
}
void
MainWindow::on_call_menu_add_people_button_clicked(){//кгопка
которая вызывает меню добавления человека
ui->call_manu_add_rayon_button->setEnabled(false);>call_menu_add_flat_button->setEnabled(false);>call_menu_add_house_button->setEnabled(false);>call_menu_add_people_button->setEnabled(false);>call_menu_add_street_button->setEnabled(false);>call_remove_menu_button->setEnabled(false);>checkBox_clearlist->setEnabled(false);>checkBox_removeel->setEnabled(false);>pushButton_save->setEnabled(false);>pushButton_load->setEnabled(false);>global_add_and_remove_menu->setTitle("меню
добавления");>global_add_and_remove_menu->show();>lineEdit_peoplename->hide();>label_9->hide();>pushButton_delflat->hide();>pushButton_delhouse->hide();>pushButton_delpeople->hide();>pushButton_delrayon->hide();>pushButton_delstreet->hide();>pushButton_next_1->hide();>pushButton_next_2->hide();>pushButton_next_3->hide();>lineEdit_rayname->show();>lineEdit_rayname->setEnabled(true);>lineEdit_streetname->show();>lineEdit_streetname->setEnabled(true);>lineEdit_housenum->show();>lineEdit_housenum->setEnabled(true);>lineEdit_flatnum->show();>lineEdit_flatnum->setEnabled(true);>label_5->setText("район");>label_5->show();>label_6->setText("улица");>label_6->show();>label_7->setText("дом
№");>label_7->show();>label_8->setText("квртира
№");>label_8->show();>pushButton_next_4->setEnabled(false);>pushButton_next_4->show();>global_input_data_menu->hide();
}
void
MainWindow::on_pushButton_next_4_clicked(){//кнопка
далее для добавления человека
p1=ui->lineEdit_rayname->text();=ui->lineEdit_streetname->text();=ui->lineEdit_housenum->text();=ui->lineEdit_flatnum->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{(!find_item_house(start, p1,
p2, p3)){
val->setText("нет такого дома");
val->show();
}else{(!find_item_flat(start, p1,
p2, p3, p4)){
val->setText("нет такой квартиры");
val->show();>global_input_data_menu->setTitle("данные
про
человека");>global_input_data_menu->show();>lineEdit_rayname->hide();>lineEdit_streetname->hide();>lineEdit_housenum->hide();>lineEdit_flatnum->hide();>lineEdit_peoplename->hide();>label_5->hide();>label_6->hide();>label_7->hide();>label_8->hide();>label_9->hide();>pushButton_next_4->hide();>pushButton_addpeople->show();>pushButton_addflat->hide();>label_data_1->setText("имя");>label_data_2->setText("фамилия");>label_data_3->setText("возраст");>label_data_1->show();>label_data_2->show();>label_data_3->show();>lineEdit_data_1->show();>lineEdit_data_2->show();>lineEdit_data_3->show();
}
void
MainWindow::on_pushButton_addpeople_clicked(){//кнопка
по нажатию на которую человек попадает в мультисписок
p5=ui->lineEdit_data_1->text();=ui->lineEdit_data_2->text();=ui->lineEdit_data_3->text();_people_tolist(start,
p1, p2, p3, p4, p5, p6, p7);>global_add_and_remove_menu->hide();>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>lineEdit_rayname->clear();>lineEdit_data_1->clear();>lineEdit_data_2->clear();>lineEdit_data_3->clear();>lineEdit_streetname->clear();>lineEdit_housenum->clear();>lineEdit_flatnum->clear();>treeWidget->clear();>shovtree();
}MainWindow::shovtree(){>treeWidget->clear();<QTreeWidgetItem*>
lev1;<QTreeWidgetItem*> lev2;<QTreeWidgetItem*> lev3;<QTreeWidgetItem*>
lev4;<QTreeWidgetItem*> lev5;cntl1, cntl2, cntl3, cntl4, cntl5;*itemL1,
*itemL2, *itemL3, *itemL4, *itemL5, *top;=new
QTreeWidgetItem(QStringList(QString("город")));>setIcon(0,
QIcon("E:/картинки
и
фотки/FVdMRkLsj6A.jpg"));=((int*)start)[POS_CNT];(int
i=0;i<cntl1;i++){=new QTreeWidgetItem((QTreeWidget*)0,
QStringList(QString(((Rayon*)start[i])->name)));=((int*)(((Rayon*)start[i])->sublev))[POS_CNT];(int
k=0;k<cntl2;k++){=new QTreeWidgetItem((QTreeWidget*)0,
QStringList(QString(((street*)((Rayon*)start[i])->sublev[k])->name)));=((int*)(((street*)((Rayon*)start[i])->sublev[k])->sublev))[POS_CNT];(int
j=0;j<cntl3;j++){=new QTreeWidgetItem((QTreeWidget*)0,
QStringList(QString(((house*)((street*)((Rayon*)start[i])->sublev[k])->sublev[j])->number)));=((int*)(((house*)((street*)((Rayon*)start[i])->sublev[k])->sublev[j])->sublev))[POS_CNT];(int
v=0;v<cntl4;v++){=new QTreeWidgetItem((QTreeWidget*)0,
QStringList(QString(((flat*)((house*)((street*)((Rayon*)start[i])->sublev[k])->sublev[j])->sublev[v])->number)));=((int*)(((flat*)((house*)((street*)((Rayon*)start[i])->sublev[k])->sublev[j])->sublev[v])->sublev))[POS_CNT];(int
u=0;u<cntl5;u++){=new QTreeWidgetItem((QTreeWidget*)0,
QStringList(QString(((people*)(((flat*)((house*)((street*)((Rayon*)start[i])->sublev[k])->sublev[j])->sublev[v])->sublev[u]))->name)));.append(itemL5);
}->addChildren(lev5);.append(itemL4);
}->addChildren(lev4);.append(itemL3);
}->addChildren(lev3);.append(itemL2);
}->addChildren(lev2);.append(itemL1);
}>addChildren(lev1);>treeWidget->addTopLevelItem(top);>treeWidget->expandAll();
}MainWindow::on_checkBox_clearlist_clicked(){(ui->checkBox_clearlist->isChecked()){>checkBox_removeel->setEnabled(false);
}else{>checkBox_removeel->setEnabled(true);
}MainWindow::on_checkBox_removeel_clicked(){(ui->checkBox_removeel->isChecked()){>checkBox_clearlist->setEnabled(false);
}else{>checkBox_clearlist->setEnabled(true);
}MainWindow::on_call_remove_menu_button_clicked(){(ui->checkBox_clearlist->isChecked()||ui->checkBox_removeel->isChecked()){(ui->checkBox_clearlist->isChecked()){(start);>treeWidget->clear();>shovtree();
}else{>call_manu_add_rayon_button->setEnabled(false);>call_menu_add_flat_button->setEnabled(false);>call_menu_add_house_button->setEnabled(false);>call_menu_add_people_button->setEnabled(false);>call_menu_add_street_button->setEnabled(false);>call_remove_menu_button->setEnabled(false);>checkBox_clearlist->setEnabled(false);>checkBox_removeel->setEnabled(false);>pushButton_save->setEnabled(false);>pushButton_load->setEnabled(false);>global_add_and_remove_menu->setTitle("меню
удаления");>global_add_and_remove_menu->show();>global_input_data_menu->hide();>lineEdit_rayname->show();>lineEdit_flatnum->show();>lineEdit_housenum->show();>lineEdit_peoplename->show();>lineEdit_streetname->show();>label_5->setText("район");>label_6->setText("улица");>label_7->setText("дом");>label_8->setText("квартира");>label_9->setText("человек");>label_5->show();>label_6->show();>label_7->show();>label_8->show();>label_9->show();>pushButton_next_1->hide();>pushButton_next_2->hide();>pushButton_next_3->hide();>pushButton_next_4->hide();>pushButton_delflat->setEnabled(false);>pushButton_delhouse->setEnabled(false);>pushButton_delpeople->setEnabled(false);>pushButton_delrayon->setEnabled(false);>pushButton_delstreet->setEnabled(false);>pushButton_delflat->show();>pushButton_delhouse->show();>pushButton_delpeople->show();>pushButton_delrayon->show();>pushButton_delstreet->show();
}MainWindow::on_pushButton_delrayon_clicked(){=ui->lineEdit_rayname->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{_rayon(start,
p1);>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>global_add_and_remove_menu->hide();>treeWidget->clear();>shovtree();>lineEdit_rayname->clear();>lineEdit_streetname->clear();>lineEdit_housenum->clear();>lineEdit_flatnum->clear();>lineEdit_peoplename->clear();>shovtree();
}MainWindow::on_pushButton_delstreet_clicked(){=ui->lineEdit_rayname->text();=ui->lineEdit_streetname->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{_street(start, p1,
p2);>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>global_add_and_remove_menu->hide();>treeWidget->clear();>shovtree();>lineEdit_rayname->clear();>lineEdit_streetname->clear();>lineEdit_housenum->clear();>lineEdit_flatnum->clear();>lineEdit_peoplename->clear();>shovtree();
}MainWindow::on_pushButton_delhouse_clicked(){=ui->lineEdit_rayname->text();=ui->lineEdit_streetname->text();=ui->lineEdit_housenum->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{(!find_item_house(start, p1,
p2, p3)){
val->setText("нет такого дома");
val->show();
}else{_house(start, p1, p2, p3);>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>global_add_and_remove_menu->hide();>treeWidget->clear();>shovtree();>lineEdit_rayname->clear();>lineEdit_streetname->clear();>lineEdit_housenum->clear();>lineEdit_flatnum->clear();>lineEdit_peoplename->clear();>shovtree();
}MainWindow::on_pushButton_delflat_clicked(){=ui->lineEdit_rayname->text();=ui->lineEdit_streetname->text();=ui->lineEdit_housenum->text();=ui->lineEdit_flatnum->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{(!find_item_house(start, p1,
p2, p3)){
val->setText("нет такого дома");
val->show();
}else{(!find_item_flat(start, p1,
p2, p3, p4)){
val->setText("нет такой квартиры");
val->show();
}else{_flat(start, p1, p2, p3,
p4);>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>global_add_and_remove_menu->hide();>treeWidget->clear();>shovtree();>lineEdit_rayname->clear();>lineEdit_streetname->clear();>lineEdit_housenum->clear();>lineEdit_flatnum->clear();>lineEdit_peoplename->clear();>shovtree();
}MainWindow::on_pushButton_delpeople_clicked(){=ui->lineEdit_rayname->text();=ui->lineEdit_streetname->text();=ui->lineEdit_housenum->text();=ui->lineEdit_flatnum->text();=ui->lineEdit_peoplename->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{(!find_item_house(start, p1,
p2, p3)){
val->setText("нет такого дома");
val->show();
}else{(!find_item_flat(start, p1,
p2, p3, p4)){
val->setText("нет такой квартиры");
val->show();
}else{(!find_item_people(start, p1,
p2, p3, p4, p5)){
val->setText("нет такого
человека");
val->show();
}else{_people(start, p1, p2, p3, p4,
p5);>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>global_add_and_remove_menu->hide();>treeWidget->clear();>shovtree();>lineEdit_rayname->clear();>lineEdit_streetname->clear();>lineEdit_housenum->clear();>lineEdit_flatnum->clear();>lineEdit_peoplename->clear();>shovtree();
}MainWindow::on_pushButton_clicked(){>global_input_data_menu->hide();>global_add_and_remove_menu->hide();>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>lineEdit_rayname->clear();>lineEdit_streetname->clear();>lineEdit_housenum->clear();>lineEdit_flatnum->clear();>lineEdit_peoplename->clear();
}MainWindow::on_pushButton_2_clicked(){>label_fndflat->setText("кaвртира");>label_fndhouse->setText("дом");>label_fndpeople->setText("человек");>label_fndray->setText("район");>label_fndstreet->setText("улица");>findBox->show();>call_manu_add_rayon_button->setEnabled(false);>call_menu_add_flat_button->setEnabled(false);>call_menu_add_house_button->setEnabled(false);>call_menu_add_people_button->setEnabled(false);>call_menu_add_street_button->setEnabled(false);>call_remove_menu_button->setEnabled(false);>checkBox_clearlist->setEnabled(false);>checkBox_removeel->setEnabled(false);>pushButton_save->setEnabled(false);>pushButton_load->setEnabled(false);>pushButton_2->setEnabled(false);>pushButton_findflat->setEnabled(false);>pushButton_findhouse->setEnabled(false);>pushButton_findpeople->setEnabled(false);>pushButton_findray->setEnabled(false);>pushButton_finstreet->setEnabled(false);>pushButton_replaceflat->setEnabled(false);>pushButton_replacehouse->setEnabled(false);>pushButton_replacepeople->setEnabled(false);>pushButton_replacestreet->setEnabled(false);>pushButton_repray->setEnabled(false);>lineEdit_findray->clear();>lineEdit_findstreet->clear();>lineEdit_findhouse->clear();>lineEdit_findflat->clear();>lineEdit_findpeople->clear();>zamena1->clear();>zamena2->clear();>zamena3->clear();
}MainWindow::on_pushButton_cancelfind_clicked()
{>pushButton_2->setEnabled(true);>findBox->hide();>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);
}MainWindow::on_pushButton_findray_clicked(){=ui->lineEdit_findray->text();(!find_item_ray(start,
p1)){
val->setText("район не найден");
val->show();
}else{*wp=(Rayon*)findrayon(start,
p1);>labelrezdat1->setText("название");>labelrezdat2->setText("площадь");>labelrezdat3->setText("номер
жека");>labelresult1->setText(wp->name);>labelresult2->setText(wp->square);>labelresult3->setText(wp->number_zhek);>labelrezdat1->show();>labelrezdat2->show();>labelrezdat3->show();>labelresult1->show();>labelresult2->show();>labelresult3->show();>resultfind->show();>findBox->hide();
}MainWindow::on_lineEdit_findray_textChanged(const
QString
&arg1){(arg1==NULL){>pushButton_repray->setEnabled(false);>pushButton_findray->setEnabled(false);
}else{>pushButton_repray->setEnabled(true);>pushButton_findray->setEnabled(true);
}MainWindow::on_lineEdit_findstreet_textChanged(const
QString &arg1)
{(arg1==NULL){>pushButton_finstreet->setEnabled(false);>pushButton_replacestreet->setEnabled(false);
}else{>pushButton_finstreet->setEnabled(true);>pushButton_replacestreet->setEnabled(true);
}MainWindow::on_lineEdit_findhouse_textChanged(const
QString &arg1)
{(arg1==NULL){>pushButton_findhouse->setEnabled(false);>pushButton_replacehouse->setEnabled(false);
}else{>pushButton_findhouse->setEnabled(true);>pushButton_replacehouse->setEnabled(true);
}MainWindow::on_lineEdit_findflat_textChanged(const
QString &arg1)
{(arg1==NULL){>pushButton_findflat->setEnabled(false);>pushButton_replaceflat->setEnabled(false);
}else{>pushButton_findflat->setEnabled(true);>pushButton_replaceflat->setEnabled(true);
}MainWindow::on_lineEdit_findpeople_textChanged(const
QString
&arg1){(arg1==NULL){>pushButton_findpeople->setEnabled(false);>pushButton_replacepeople->setEnabled(false);
}else{>pushButton_findpeople->setEnabled(true);>pushButton_replacepeople->setEnabled(true);
}MainWindow::on_okbuttonrep_clicked()
{>resultfind->hide();>pushButton_2->setEnabled(true);>findBox->hide();>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);
}MainWindow::on_pushButton_repray_clicked(){=ui->lineEdit_findray->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{>replace_box->show();>label_rep1->setText("название");>label_rep2->setText("площадь");>label_rep3->setText("номер
жека");>label_rep1->show();>label_rep2->show();>label_rep3->show();>zamena1->show();>zamena2->show();>zamena3->show();>findBox->hide();>ray_zam->show();>ray_zam->setEnabled(false);
}MainWindow::on_zamena1_textChanged(const
QString &arg1)
{(arg1==NULL){>ray_zam->setEnabled(false);>streetzam->setEnabled(false);>housezam->setEnabled(false);>flatzam->setEnabled(false);>peoplezam->setEnabled(false);
}else{>ray_zam->setEnabled(true);>streetzam->setEnabled(true);>housezam->setEnabled(true);>flatzam->setEnabled(true);>peoplezam->setEnabled(true);
}MainWindow::on_ray_zam_clicked(){_rayon(start,
p1);=ui->zamena1->text();=ui->zamena2->text();=ui->zamena3->text();_rayon_tolist(start,
p2, p3, p4);>replace_box->hide();>findBox->hide();>resultfind->hide();>pushButton_2->setEnabled(true);>findBox->hide();>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>ray_zam->hide();>shovtree();
}MainWindow::on_pushButton_finstreet_clicked(){=ui->lineEdit_findray->text();=ui->lineEdit_findstreet->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{*wp=(street*)findstreeet(start,
p1, p2);>labelrezdat1->setText("название");>labelrezdat1->show();>labelrezdat2->setText("возраст");>labelresult2->show();>labelrezdat3->hide();>labelresult1->setText(wp->name);>labelresult1->show();>labelresult2->setText(wp->year);>labelresult2->show();>labelresult3->hide();>resultfind->show();>findBox->hide();
}MainWindow::on_pushButton_replacestreet_clicked(){=ui->lineEdit_findray->text();=ui->lineEdit_findstreet->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{>replace_box->show();>label_rep1->setText("название");>label_rep2->setText("возраст");>label_rep1->show();>label_rep2->show();>label_rep3->hide();>zamena1->show();>zamena2->show();>zamena3->hide();>findBox->hide();>streetzam->show();>streetzam->setEnabled(false);
}MainWindow::on_streetzam_clicked(){_street(start,
p1, p2);=ui->zamena1->text();=ui->zamena2->text();_street_tolist(start,
p1, p3,
p4);>replace_box->hide();>findBox->hide();>resultfind->hide();>pushButton_2->setEnabled(true);>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>streetzam->hide();>shovtree();
}MainWindow::on_cancelrepname_clicked(){>replace_box->hide();>findBox->hide();>resultfind->hide();>pushButton_2->setEnabled(true);>findBox->hide();>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);
}MainWindow::on_pushButton_findhouse_clicked(){=ui->lineEdit_findray->text();=ui->lineEdit_findstreet->text();=ui->lineEdit_findhouse->text();(!find_item_ray(start,
p1)){
val->setText(" нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{(!find_item_house(start, p1,
p2, p3)){
val->setText("нет такого дома");
val->show();
}else{*wp=(house*)findhouse(start,
p1, p2, p3);>labelrezdat1->setText("номер");>labelrezdat1->show();>labelrezdat2->setText("площадь");>labelresult2->show();>labelrezdat3->hide();>labelresult1->setText(wp->number);>labelresult1->show();>labelresult2->setText(wp->square);>labelresult2->show();>labelresult3->hide();>resultfind->show();>findBox->hide();
}MainWindow::on_pushButton_replacehouse_clicked(){=ui->lineEdit_findray->text();=ui->lineEdit_findstreet->text();=ui->lineEdit_findhouse->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{(!find_item_house(start, p1,
p2, p3)){
val->setText("нет такого дома");
val->show();
}else{>replace_box->show();>label_rep1->setText("номер");>label_rep2->setText("площадь");>label_rep1->show();>label_rep2->show();>label_rep3->hide();>zamena1->show();>zamena2->show();>zamena3->hide();>findBox->hide();>housezam->setEnabled(false);>housezam->show();
}MainWindow::on_housezam_clicked(){_house(start,
p1, p2,
p3);=ui->zamena1->text();=ui->zamena2->text();_house_tolist(start,
p1, p2, p4,
p5);>replace_box->hide();>findBox->hide();>resultfind->hide();>pushButton_2->setEnabled(true);>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>housezam->hide();>shovtree();
}MainWindow::on_pushButton_findflat_clicked(){=ui->lineEdit_findray->text();=ui->lineEdit_findstreet->text();=ui->lineEdit_findhouse->text();=ui->lineEdit_findflat->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{(!find_item_house(start, p1,
p2, p3)){
val->setText("нет такого дома");
val->show();
}else{(!find_item_flat(start, p1,
p2, p3, p4)){
val->setText("нет такой квартиры");
val->show();
}else{*wp=(flat*)findflat(start, p1,
p2, p3, p4);>labelrezdat1->setText("номер");>labelrezdat1->show();
ui->labelrezdat2->setText("количество
комнат");
ui->labelresult2->show();>labelrezdat3->hide();>labelresult1->setText(wp->number);>labelresult1->show();>labelresult2->setText(wp->cnt_room);>labelresult2->show();>labelresult3->hide();>resultfind->show();>findBox->hide();
}MainWindow::on_pushButton_replaceflat_clicked(){=ui->lineEdit_findray->text();=ui->lineEdit_findstreet->text();=ui->lineEdit_findhouse->text();=ui->lineEdit_findflat->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{(!find_item_house(start, p1,
p2, p3)){
val->setText("нет такого дома");
val->show();
}else{(!find_item_flat(start, p1,
p2, p3, p4)){
val->setText("нет такой квартиры");
val->show();
}else{>replace_box->show();>label_rep1->setText("номер");
ui->label_rep2->setText("количество
комнат");
ui->label_rep1->show();>label_rep2->show();>label_rep3->hide();>zamena1->show();>zamena2->show();>zamena3->hide();>findBox->hide();>flatzam->setEnabled(false);>flatzam->show();
}MainWindow::on_flatzam_clicked(){_flat(start,
p1, p2, p3,
p4);=ui->zamena1->text();=ui->zamena2->text();_flat_tolist(start,
p1, p2, p3, p5,
p6);>replace_box->hide();>findBox->hide();>resultfind->hide();>pushButton_2->setEnabled(true);>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>flatzam->hide();>shovtree();
}MainWindow::on_pushButton_findpeople_clicked(){=ui->lineEdit_findray->text();=ui->lineEdit_findstreet->text();=ui->lineEdit_findhouse->text();=ui->lineEdit_findflat->text();=ui->lineEdit_findpeople->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{(!find_item_house(start, p1,
p2, p3)){
val->setText("нет такого дома");
val->show();
}else{(!find_item_flat(start, p1,
p2, p3, p4)){
val->setText("нет такой квартиры");
val->show();
}else{(!find_item_people(start, p1,
p2, p3, p4, p5)){
val->setText("нет такого
человека");
val->show();
}else{*wp=(people*)findpeople(start,
p1, p2, p3, p4, p5);>labelrezdat1->setText("имя");>labelrezdat1->show();>labelrezdat2->setText("фамилия");>labelresult2->show();>labelrezdat3->setText("возраст");>labelrezdat3->show();>labelresult1->setText(wp->name);>labelresult1->show();>labelresult2->setText(wp->surname);>labelresult2->show();>labelresult3->setText(wp->age);>labelresult3->show();>resultfind->show();>findBox->hide();
}MainWindow::on_pushButton_replacepeople_clicked(){=ui->lineEdit_findray->text();=ui->lineEdit_findstreet->text();=ui->lineEdit_findhouse->text();=ui->lineEdit_findflat->text();=ui->lineEdit_findpeople->text();(!find_item_ray(start,
p1)){
val->setText("нет такого района");
val->show();
}else{(!find_item_street(start, p1,
p2)){
val->setText("нет такой улицы");
val->show();
}else{(!find_item_house(start, p1,
p2, p3)){
val->setText("нет такого дома");
val->show();
}else{(!find_item_flat(start, p1,
p2, p3, p4)){
val->setText("нет такой квартиры");
val->show();
}else{(!find_item_people(start, p1,
p2, p3, p4, p5)){
val->setText("нет такого
человека");
val->show();
}else{>replace_box->show();>label_rep1->setText("имя");>label_rep2->setText("фамилия");>label_rep3->setText("возраст");>label_rep1->show();>label_rep2->show();>label_rep3->show();>zamena1->show();>zamena2->show();>zamena3->show();>findBox->hide();>peoplezam->setEnabled(false);>peoplezam->show();
}MainWindow::on_peoplezam_clicked(){_people(start,
p1, p2, p3, p4,
p5);=ui->zamena1->text();=ui->zamena2->text();=ui->zamena3->text();_people_tolist(start,
p1, p2, p3, p4, p6, p7,
p8);>replace_box->hide();>findBox->hide();>resultfind->hide();>pushButton_2->setEnabled(true);>call_manu_add_rayon_button->setEnabled(true);>call_menu_add_flat_button->setEnabled(true);>call_menu_add_house_button->setEnabled(true);>call_menu_add_people_button->setEnabled(true);>call_menu_add_street_button->setEnabled(true);>call_remove_menu_button->setEnabled(true);>checkBox_clearlist->setEnabled(true);>checkBox_removeel->setEnabled(true);>pushButton_save->setEnabled(true);>pushButton_load->setEnabled(true);>peoplezam->hide();>shovtree();
}MainWindow::on_pushButton_save_clicked(){("E:/mylist.dat",
start);
}MainWindow::on_pushButton_load_clicked(){(this->start);("E:/mylist.dat",
this->start);
this->shovtree();
}
файл алгоритм мультисписковый
Приложение Б
ИНФОРМАЦИОННО-СПРАВОЧНАЯ СИСТЕМА «УПРАВЛЕНИЕ
ГОРОДОМ»
. ВИЗУАЛИЗАЦИЯ СОДЕРЖИМОГО МУЛЬТИСПИСКА
При открытии автоматически создается пустой
список в динамической памяти. Вид окна программы после запуска показан на
рисунке Б.1.
Рисунок Б.1 - Интерфейс программы
После загрузки списка из файла, в правой части
окна можно увидеть древовидную структуру всех уровней списка. В нижней части
выводится главная таблица со списком улиц города и номерами обслуживающих
ЖЭКов. Скриншот окна показан на рисунке Б.2.
Рисунок Б.2 - Окно программы после загрузки
файла