Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Система підтримки планування автобусного руху в районі

Реферат Система підтримки планування автобусного руху в районі





== NULL)

{

MessageBox (L "Помилка відкриття файлу Зміни. Зміни не були збережені.", L "Помилка!", MB_OK | MB_ICONERROR);

CDialog :: OnCancel ();

}

rts_char rc;

rts rt;

while (feof (g)! = fread (& rc, sizeof (rc), 1, g))

{

rt.arTime = rc.arTime;

rt.lvTime = rc.lvTime;

rt.rNum = rc.rNum;

rt.station = rc.station;


r.push_back (rt);

}

fclose (g);


shift_char sch;

shift sf;

while (feof (h)! = fread (& sch, sizeof (sch), 1, h))

{

sf.begs = sch.begs;

sf.driver = sch.driver;

sf.ends = sch.ends;

sf.kond = sch.kond;

sf.rNum = sch.rNum;


sh.push_back (sf);

}

fclose (h);


synch (vec, r, sh) ;//Синхронізація даних із запитами адміністратора


fopen_s (& f, "Запроси.bin", "wb");

fopen_s (& g, "Маршрути.bin", "wb");

fopen_s (& h, "Смени.bin", "wb");

if (f == NULL | | g == NULL | | h == NULL)

{

MessageBox (L "Помилка відкриття файлу! змін не збережено!", L "Помилка!", MB_OK | MB_ICONERROR);

CDialog :: OnCancel ();

}


for (int i = 0; i

{

lst_char ch = converting (vec [i]);

fwrite (& ch, sizeof (lst_char), 1, f);

}


for (int i = 0; i

{

rts_char ch = converting (r [i]);

fwrite (& ch, sizeof (ch), 1, g);

}


for (int i = 0; i

{

shift_char ch = converting (sh [i]);

fwrite (& ch, sizeof (ch), 1, h);

}


fclose (f);

fclose (g);

fclose (h);

CDialog :: OnCancel ();

}


Функція синхронізації з даними запитів

void synch (vector & vec, vector & vec1, vector & vec2)

{

quickSort (vec, 0, vec.size () -1);


vector :: iterator it1;

for (int i = 0; i

{

if (! binary_search (vec, vec1 [i]. rNum, 0, vec.size () -1))

{

it1 = vec1.begin () + i;

vec1.erase (it1);

i -;

}

}


vector :: iterator it2;

for (int i = 0; i

{

if (! binary_search (vec, vec2 [i]. rNum, 0, vec.size () -1))

{

it2 = vec2.begin () + i;

vec2.erase (it2);

i -;

}

}

}


Функція двійкового пошуку у векторі

bool binary_search (vector & vec, int rn, int beg, int end)

{

if (vec [beg]. routeNum == rn | | vec [end]. routeNum == rn)

return true;


int n = end - beg;

if (n == 1)

return false;


int mid = beg + (n/2);


Назад | сторінка 14 з 16 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Людина - вінець творіння або помилка природи
  • Реферат на тему: Помилка в платіжному дорученні. Інструкція до вирішення проблеми.
  • Реферат на тему: Експертні помилки в контексті загального поняття терміну "Помилка" ...
  • Реферат на тему: Обробка набору даних, представленого у вигляді файлу
  • Реферат на тему: Практична обробка набору даних, представленого у вигляді файлу