Моделирование работы автовокзала
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
p_list_city;tmp_city; tmp_list_run;tmp_run;(int i = 0; i < service.Count; i++)
{_off = (ticket_office)service.ToArray().GetValue(i);_list_city = tmp_off.getDirection().getListCity();(int j = 0; j < tmp_list_city.Count; j++)
{_city = (city)tmp_list_city.ToArray().GetValue(j);_list_run = tmp_city.getListRun();(int k = 0; k < tmp_list_run.Count; k++)
{_run = (Run)tmp_list_run.ToArray().GetValue(k);(tmp_run.getDepartureTime() == dep)//если в текущее время отправляется рейс
{.WriteLine(tmp_run.getDepartureTime().printTime()
+ " отправка рейса в " + tmp_city.getNameCity());.WriteLine("Количество пассажиров: " +.ToString(tmp_run.getNumClients()));.WriteLine("");
}
}
}
}
}
//---- МОДЕЛИРОВАНИЕ ----//void StartSimulation(Time b, Time sim, int num, ProgressBar bar)
tmp_list_client;//t=0;_Service();//,,">{textWritter = new StreamWriter("test.txt");//создаем журнал событий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 < simul_time; curr_time++)
{(curr_time, textWritter);//отправка рейса, если он есть(next_arrival == curr_time)//если прибыл клиент
{_arrival(curr_time, num);//устанавливаем время прибытия следующего клиента++;
//устанавливаем время прибытия и номер клиента_client.setAll(CountClient, curr_time);
//запись в файл.WriteLine(curr_time.printTime() + ": прибыл клиент № "
+ Convert.ToString(tmp_client.getClientId()));.WriteLine("");(tmp_client);//добавление в очередь
}(int i = 0; i < service.Count; 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
{
///
/// Главная точка входа для приложения.
///
[STAThread]void Main()
{.EnableVisualStyles();.SetCompatibleTextRenderingDefault(false);.Run(new Form1());
}
}
}
Приложение 2
Файл Form1.cs
using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.Diagnostics;_1
{partial class Form1 : Form
{A;start;end;Form1()
{();
}void Form1_Load(object sender, EventArgs e)
{
}void textBox1_TextChanged(object sender, EventArgs e)
{
}void button1_Click(object sender, EventArgs e)
=end)MessageBox.Show("");">{= new Simulation();= new Time(Convert.ToInt32(StartTimeHours.Value), Convert.ToInt32(StartTimeMin.Value));= new Time(Convert.ToInt32(EndTimeHours.Value), Convert.ToInt32(EndTimeMin.Value));n = Convert.ToInt32(num.Value);.Value = 0;(start >= end) MessageBox.Show("Неверный ввод");
{.StartSimulation(start, end, n, progressBar1);.Statistic(textBox1);
}
}void button2_Click(object sender, EventArgs e)
{();
}void button3_Click(object sender, EventArgs e)
{p1 = new Process();.StartInfo.UseShellExecute = true;.StartInfo.RedirectStandardOutput = false;.StartInfo.FileName = "test.txt";.Start();.WaitForExit();
}
}