Предметная область – «Расписание рейсов самолетов».
Данные о рейсе хранятся в структуре, содержащей следующие поля:
Задание на поиск: найти рейсы, вылетающие в пункт назначения.
База данных расписания авиарейсов организована в виде однонаправленного линейного списка. Каждая запись списка представляет собой структуру вида:
struct AEROFLOT
{
AEROFLOT* next; // указатель на следующий элемент списка
struct Flight NewFlight; // данные о рейсе
};
Данные о рейсе содержатся в структуре Flight:
struct Flight{
int cnt; // порядковый номер рейса в расписании
struct ID
{
string AirlineID;
string PriorityID;
} FlightID; // идентификатор рейса
enum Aircraft Type; // тип самолета
enum Airports Destination; // пункт назначения рейса
};
Для хранения типа самолета и кода аэропорта созданы пользовательские типы данных, представляющие собой перечисления:
enum Aircraft
{
UNDEFINED_AIRCRAFT = 0, AirbusA319, AirbusA320, AirbusA320NEO, AirbusA321, AirbusA321NEO, AirbusA330_300, AirbusA350_900, Boeing737_800, Boeing737_900, Boeing747_400, Boeing777_300, Boeing777_300ER, Superjet100
};
enum Airports
{
UNDEFINED_AIRPORT = 0, AAQ, ABA, AER, ARH, ASF, BAX, BKA, BQS, BTK, BZK, CEE, CEK, CKL, CSH, CSY, CYX, DKS, DME, DYR, EGO, EIE, ESL, GDX, GDZ, GOJ, GRV, HMA, HTA, IAR, IJK, IKS, IKT, INA, IWA, JOK, KEJ, KGD, KHV, KJA, KLD, KLF, KMW, KRO, KRR, KUF, KVK, KVX, KXK, KZN, LDG, LED, LNX, LPK, MCX, MJZ, MMK, MQF, MRV, NAL, NBC, NEF, NFG, NJC, NNM, NOI, NOJ, NOZ, NUX, NVR, OEL, OGZ, OHO, OKT, OMS, OSW, OVB, PEE, PES, PEZ, PKC, PKV, PVS, PVX, PYJ, RAT, REN, ROV, RTW, RVH, RYB, RZN, SCW, SGC, SKX, SLY, STW, SVO, SVX, SWT, TBW, TJM, TOF, TOX, TYA, UFA, ULY, URS, UUA, UUD, UUS, VGD, VKO, VKT, VLU, VOG, VOZ, VUS, VVO, YKS
};