Что такое "Базовая структура данных 2-хуровневая иерархическая"? И как её реализовать в C++ Builder?
Начал вот так, но что-то сомневаюсь в правильности такого решения:
<hr />
class MyXD
{
private:
struct StructXD // хозяйственные договоры
{
int id_XD;
int number; // номер договора
std::string date_conclusion; // дата заключения договора
std::string date_completion; // дата завершения договора
std::string theme; // тема договора
std::string customer_name; // наименование организации - заказчика работ,
std::string com_incom; // признак завершения договора
int cost; // стоимость договора
};
StructXD *xd;
int rowsXD;
struct StructWTK // исполнители
{
int id_WTK;
std::string firstname; // фамилия
std::string name; // имя
std::string lastname; // отчество
int year; // год рождения
StructXD id_XD; // id XD для формирования кода XD
int sign; // признак руковолитель\рядовой член ВТК
int sum; // сумма вознаграждения
std::string address; // адрес
int bank_number; // номер отделения сбербанка
int account; // расчетный счет исполнителя
};
StructWTK *wtk;
int rowsWTK;
public:
MyXD();
~MyXD();
//// XD ////
void InputXD();
void OutputXD();
void TableXD();
void EditXD();
//// WTK ////
void InputWTK();
void OutputWTK();
void TableWTK();
void EditWTK();
};
Само задание собственно вот:
<hr />
1.1. Коммерческая научно-производственная организация (НПО) регистрирует хозяйственные договоры (ХД), выполняемые временными трудовыми коллективами (ВТК), причем один ХД выполняется одним ВТК. НПО осуществляет финансовые операции по расчетам с членами ВТК за выполненные работы.
1.2. Атрибуты хоздоговоров представляются в таблице (файле) XD. В эту таблицу заносятся следующие данные:
1) номер договора,
2) дата заключения договора (вступления договора в силу),
3) дата завершения договора,
4) тема договора,
5) наименование организации - заказчика работ,
6) признак завершения (выполнения) работ по договору (завершен/незавершен),
7) стоимость договора в тыс. рублей.
Замечание. Разные договоры могут иметь одинаковые номера, если они заключены в разные годы. Из номера договора и года, в котором он заключен, формируется код хоздоговора (или, что тоже самое, код ВТК). Код договора может иметь вид 14/98, т.е. договор номер 14 заключен в 1998 г.
1.3. Атрибуты исполнителей всех хоздоговоров, являющихся членами соответствующих ВТК, хранятся в файле WTK. Каждая запись этого файла содержит следующую информацию:
1) Фамилия,
2) Имя,
3) Отчество,
4) год рождения,
5) код ХД,
6) признак руководитель/рядовой член ВТК,
7) причитающаяся по договору сумма вознаграждения в тыс. рублей,
8) домашний адрес,
9) 4-хзначный номер отделения сбербанка, в котором исполнитель получит вознаграждение,
10) расчетный счет исполнителя (7-мизначное число).
Замечание. Одно и то же лицо может быть членом нескольких разных ВТК.
1.4. Таблица (файл) BANK содержит атрибуты отделений сбербанка, где имеют счета исполнителя договоров. Это следующие атрибуты:
1) номер отделения – 4-хзначное число,
2) город, в котором находится отделение,
3) адрес без указания города,
4) наименование отделения, например, Фрунзенское,
5) 3-хзначные банковский код отделения.