Моделирование работы автовокзала

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

e;if (t1.min t2.min) return false;return false;

}static bool operator <=(Time t1, Time t2)

{((t1.hour < t2.hour) || ((t1.hour == t2.hour) && (t1.min <= t2.min))) return true;return false;

}

//----------------------------------------------------

//добавление нескольких минут, для генерации времени появления клиентаvoid PlusMin(int m)

{+= m;(min >= 60)

{-= 60;++;

}

}int getMin()

{min;

}int getHour()

{hour;

}

}

//-----------------------------------

//-----Клиент-----//client

{Time arrive;//время появления клиентаTime service_time;//время обслуживания на кассеTime departure_time;//время отправки рейсаint clientID;//номер клиентаstring destination;//место назначения

//конструкторclient()

{= new Time();_time = new Time();_time = new Time();= 0;= "\0";

}

//копирование объектаvoid CopyClient(client t)

{.CopyTime(t.arrive);_time.CopyTime(t.service_time);_time.CopyTime(t.departure_time);= t.clientID;= t.destination;

}

//время обслуживанияTime getServiceTime()

{service_time;

}

//"идентификация" клиентаvoid setAll(int id, Time arr)

{.CopyTime(arr);= id;rnd = new Random();x = new Random();m = 0;.Sleep(15);n = rnd.Next(8) + 1;(n)

{1: destination = "Томск"; break;2: destination = "Асино"; break;3: destination = "Стрежевой"; break;4: destination = "Омск"; break;5: destination = "Калачинск"; break;6: destination = "Тара"; break;7: destination = "Барнаул"; break;8: destination = "Камень-на-Оби"; break;9: destination = "Бийск"; break;

}= rnd.Next(4) + 1;_time.setTime(0, m);

}

//установка времени обслуживанияvoid setServiceTime(Time t)

{_time.CopyTime(t);

}

//уменьшение времени ожиданияvoid NewServiceTime()

{_time--;

}

//номер клиентаint getClientId()

{clientID;

}

//место назначенияstring getDestination()

{destination;

}

// время отправкиTime getDepartureTime()

{departure_time;

}

// время отправкиvoid setDepartureTime(Time dt)

{_time.CopyTime(dt);

}

}

//------------------------------------------

//-----Рейс-----//Run

{int count_ticket;//количество оставшихся билетовTime departure;//время отправки

//конструктор без параметровRun()

{_ticket = 0;= new Time();

}

//конструктор с параметрамиRun(int count, Time dep)

{_ticket = count;= new Time();.CopyTime(dep);

}

//копирование объектаvoid CopyRun(Run t)

{_ticket = t.count_ticket;.CopyTime(t.departure);

}

//инициализация напрвленияvoid setRun (int count, Time dep)

{_ticket = count;.CopyTime(dep);

}

//возврат времени отправки рейсаTime getDepartureTime()

{departure;

}

//количество оставшихся билетовint getCountTicket()

{count_ticket;

}

//количество проданных билетовint getNumClients()

{(40 - count_ticket);

}

//билет проданvoid setCountTicket()

{_ticket--;

}

}

//-----------------------------------------

//-----Город-----//city

{string city_name;int count_ticket;//количество проданных билетовList list_Run;

//конструктор без параметровcity()

{_ticket = 0;_name = "\0";_Run = new List();

}

//конструктор с параметрамиcity(string name)

{_name = name;_Run = new List();

}

//копирование объектаvoid CopyCity(city t)

{tmp = new Run();_name = t.city_name;_ticket = t.count_ticket;

//копирование списка(int i = 0; i < t.list_Run.Count(); i++)

{.CopyRun((Run)t.list_Run.ToArray().GetValue(i));_Run.Add(tmp);

}

}

//добавление рейса в городvoid AddRun(Run r)

{rr = new Run();.CopyRun(r);_Run.Add(rr);

}

//возврат ссылки на список рейсовList getListRun()

{list_Run;

}

//возврат количества проданных билетовstring getNameCity()

{city_name;

}

//установка количества проданных билетовvoid setCountTicket()

{_ticket++;

}

//возврат количества проданных билетовint getCountTicket()

{count_ticket;

}

}

//------------------------------------------------

//-----Направление-----//direction

{string direction_name;List list_city;//список городов

//конструктор с параметрамиdirection(string name)

{_name = name;_city = new List();

}

//конструктор без параметровdirection()

{_name = "\0";_city = new List();

}

//добавление городаvoid AddCity(city c)

{n = new city();.CopyCity(c);_city.Add(c);

}

//возврат ссылки на список городовList getListCity()

{ ptr = list_city;ptr;

}

//возврат названия направленияstring getNameDirection()

{direction_name;

}

//установка названия направленияvoid setNameDirection(string name)

{_name = name;

}

}

//------------------------------------------------

//-----Касса-----//ticket_office

{Time waiting_time;//время ожидания очередиTime average_time;//среднее время ожиданияdirection one;//направлениеint count_client;//количество обслуженных клиентовint count_ticket;//количество проданных билетовList line;//очередь клиентов

//конструкторticket_office(string name)

{_ticket = 0;_client = 0;_time = new Time(0, 0);_time = new Time(0, 0);= new direction(name);= new List();

}Time GetAverageTime()

{average_time;

}

//уменьшение времени ожидания на 1 минутуvoid SetTime()

{(waiting_time.getHour() != 0 || waiting_time.getMin() != 0)

{_time--;n = line.Count()-1;t;(n != -1)

{= (client)line.ToArray().GetValue(n);.NewServiceTime();-;

}

}

}

//увеличение количества обслуженных клиентовvoid setCountClient()

{_client++;

}

//возврат количества обслуженных клиентовint getCountClient()

{count_client;

}

//увеличение количества проданных билетовvoid setCountTicket()

{_ticket++;

}

//возврат количества проданных билетовint getCountTicket()

{count_ticket;

}

//возврат указателя на очередь клиентовList getLineClient()

{line;

}

//добавление в очередь клиетаvoid AddToLine(client a)

{t = new client();.CopyClient(a);_time.CopyTime(waiting_time + t.getServiceTime());.setServiceTime(waiting_time);(t.getClientId() < 1)

{_time.CopyTime(average_time + waiting_time);

}

{_time.CopyTime((average_time + waiting_time) / 2);

}.Add(t);

}

//добавление города в направлениеvoid InsertCity(city c)

{.AddCity(c);

}

//возврат названия направленияstring getDirectionName()

{one.getNameDirection();

}

//возврат ссылки на направлениеdirection getDirection()

{one;

}

}

//----------------------------------------------------Simulation

{Time base_time;//начальное времяTime simul_time;//время симуляцииTime next_arrival;//время прибытия следующего клиентаint CountClient;//количество клиентовTime Average_time;//среднее время ожиданияList service;// список касс

//конструкторSimulation()

{_time = new Time();_arrival = new Time();_time = new Time();_time = new Time();= 0;= new List();

}

//печать статистики в диалоговом окнеvoid Statistic(TextBox text)

{.Lines = new string[] { "Всего обслужено клиентов: " + Convert.ToString(CountClient)