| Код | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Timers;
namespace Classes { /* * Описать класс «поезд», содержащий следующие закрытые поля: • название пункта назначения;** • номер поезда (может содержать буквы и цифры);** • время отправления.** • Предусмотреть свойства для получения состояния объекта.** • Описать класс «вокзал», содержащий закрытый массив поездов. Обеспечить сле¬дующие возможности: • вывод информации о поезде по номеру с помощью индекса;** • вывод информации о поездах, отправляющихся после введенного с клавиату¬ры времени;** • //перегруженную операцию сравнения, выполняющую сравнение времени от¬правления двух поездов;??//что это??? • вывод информации о поездах, отправляющихся в заданный пункт назначения.** Информация должна быть отсортирована по времени отправления. Написать про¬грамму, демонстрирующую все разработанные элементы классов. * */ class Train { string nameStation; string nameTrain; DateTime time;
public string NameStation { get; set; } public string NameTrain { get; set; } public DateTime Time { get; set; } public void Sostoyanie() { Console.WriteLine("Номер поезда: "+ NameTrain+"\nПункт назначения: "+NameStation+"\n" +"Время отправления: "+Time.ToString()+"\n"); } } class Station { private Train[] mas; public Station(int i) { mas = new Train[i]; } public void Add(int i ,Train ob) { mas[i] = ob; } public void Info() { for (int i = 0; i < mas.Length; i++) mas[i].Sostoyanie(); } public void Info(int i)//вывод информации о поезде по номеру с помощью индекса; { //mas[i].Sostoyanie(); //или Console.WriteLine("Номер поезда: " + mas[i].NameTrain + "\nПункт назначения: " + mas[i].NameStation + "\n" + "Время отправления: " + mas[i].Time.ToString()+"\n"); } public void Info(DateTime time)//вывод информации о поездах, отправляющихся после введенного с клавиату¬ры времени; { for (int i = 0; i <= mas.Length; i++) { if (mas[i].Time > time) { mas[i].Sostoyanie(); } } } public void Info(string name)//вывод информации о поездах, отправляющихся в заданный пункт назначения. { for (int i = 0; i <= mas.Length; i++) { if (mas[i].NameStation == name) { mas[i].Sostoyanie(); } } } public void Sort() { Array.Sort(mas,(p1,p2) =>p1.Time.CompareTo(p2.Time)); } } class Program { static void Main(string[] args) { DateTime time = DateTime.Now ; Console.WriteLine("Введите количество поездов: "); int kol = int.Parse(Console.ReadLine()); Station st = new Station(kol); //Ввод данных поездов for (int i = 0; i < kol; i++) { Train ob = new Train();
Console.WriteLine("Введите название поезда: "); ob.NameTrain = Console.ReadLine(); Console.WriteLine("Введите название станции: "); ob.NameStation = Console.ReadLine(); Console.WriteLine("Введите название время отправления: "); ob.Time = DateTime.Now;//DateTime.Parse(Console.ReadLine()); //вводить в формате |дд.мм.гггг чч:мм:сс| st.Add(i, ob); } st.Sort();//Сортировка по времени отправления st.Info();//Показываем отсортированые данные Console.WriteLine(); Console.WriteLine("Введите номер массива");//вывод инф. о поезде по номеру с помощю индекса - бред какойто(не понял что онихотят)и сделал просто вывод инфы по номеру массива int a = int.Parse( Console.ReadLine()); st.Info(a); Console.WriteLine("Введите заданые пункт назначения"); string s = Console.ReadLine(); st.Info(s); Console.WriteLine("Введите время"); DateTime t = DateTime.Parse( Console.ReadLine()); st.Info(t); } } }
|
ну как-то так |