Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Описать класс "поезд", содержащий поля "пункт назн


Автор: NeoX12 26.3.2012, 21:03
Помогите пожалуйста с классом

Описать класс «поезд», содержащий следующие закрытые поля:
•    название пункта назначения;
•    номер поезда (может содержать буквы и цифры);
•    время отправления.
•    Предусмотреть свойства для получения состояния объекта.
•    Описать класс «вокзал», содержащий закрытый массив поездов. Обеспечить сле¬дующие возможности:
•    вывод информации о поезде по номеру с помощью индекса;
•    вывод информации о поездах, отправляющихся после введенного с клавиату¬ры времени;
•    перегруженную операцию сравнения, выполняющую сравнение времени от¬правления двух поездов;
•    вывод информации о поездах, отправляющихся в заданный пункт назначения.
Информация должна быть отсортирована по времени отправления. 
Написать про¬грамму, демонстрирующую все разработанные элементы классов.

Автор: Garcian 28.3.2012, 07:32
Что мешает сделать Вам это самому? "Напишите за меня" - это не этот раздел помоему  smile 

Автор: erm0l0v 28.3.2012, 16:55
Думаю здесь еще нужен класс маршрут содержащий информацию о том какой поезд когда отправляется с какого вокзала)))

Автор: SlipKnot 28.3.2012, 21:43
Код

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);
        }
    }
}

ну как-то так

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)