творюємо журнал собитійf = new Time (); _time.CopyTime (b); _time.CopyTime (sim); = simul_time - base_time; fbar = (double) (f.getHour () * 60 + f.getMin ())/100 ;//значеніеcurr_time = new Time () ;//поточне времяadd = new Time (); _office tmp_off ;//посилання на кассуtmp_client = new client (); cl_service; tmp_list_client ;//посилання на чергу кліентовt = 0; _Service () ;//ініціалізація кас за напрямами, створення міст, рейсів
// ------------- цикл моделювання ------------// _arrival (base_time, num) ;//встановлюємо час прибуття наступного кліента_time.CopyTime (base_time) ;//встановлюємо початковий момент часу (; curr_time
{(curr_time, textWritter) ;//відправка рейсу, якщо він є (next_arrival == curr_time)// якщо прибув клієнт
{_arrival (curr_time, num) ;//встановлюємо час прибуття наступного клієнта + +;
// встановлюємо час прибуття та номер кліента_client.setAll (CountClient, curr_time);
// запис в файл.WriteLine (curr_time.printTime () + ": прибув клієнт №"
+ в чергу
} (int i = 0; i
{_off = (ticket_office) service.ToArray (). GetValue (i); _list_client = tmp_off.getLineClient (); (tmp_list_client.Count ()! = 0)// якщо чергу не порожня
{_service = (client) tmp_list_client.ToArray (). GetValue (0); (cl_service.getServiceTime (). getHour () == 0 && _service.getServiceTime (). getMin ( ) == 0)// якщо чергу клієнта, обслуговуємо
{(tmp_off, cl_service, curr_time); (cl_service.getDepartureTime (). getHour ()! = 0
| | cl_service.getDepartureTime (). getHour ()! = 0)// якщо квиток проданий
{. WriteLine (curr_time.printTime () + ": Клієнту №" +. ToString (cl_service.getClientId ()));. WriteLine ("продано квиток на" + _service. getDestination ());. WriteLine ("час відправки:" + _service.getDepartureTime (). printTime ());. WriteLine ("");
}
{. WriteLine ("Клієнту №" +. ToString (cl_service.getClientId ()) + "квиток не проданий");. WriteLine ("");
} _list_client.RemoveAt (0) ;//видаляємо клієнта з черги
}
}
} () ;//зменшуємо час очікування всіх клієнтів
// - для смуги прогресу моделювання -// + +; (t == (int) fbar +1)
{. Value + = 1; = 0;
}
// -------------------------------------//
}. Value = 100;. Close ();
}
} class Program
{
///
///Головна точка входу для програми....