Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ссылку на публикацию, ссылку на публикацию 
:(
    Опции темы
Vadimdol
Дата 26.10.2015, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 10.10.2015

Репутация: нет
Всего: нет



Здравствуйте ! Подскажите пожалуйста , как в данной программе реализовать пункт 1) : чтобы код был достаточно наглядным и простым ( у меня небольшой практический опыт в программировании ) ? 
 После пункта 1) мне надо будет написать код к пункту 2) и потом код к пункту 3) 
 В общем вопрос в том по какому плану выстраивать свои действия ?

 В классе ResearchTeam определить :
 1) свойство типа Paper ( только с методом get), которое возвращает ссылку на публикацию с самой поздней датой выхода; если список публикаций пустой, свойство возвращает значение null;
 2) индексатор булевского типа (только с методом get) с одним параметром типа TimeFrame; значение индексатора равно true, если значение поля с информацией о продолжительности исследований совпадает со значением индекса, и false в противном случае;

 В методе Main() : 
 3) Сравнить время выполнения операций с элементами одномерного, двумерного прямоугольного и двумерного ступенчатого массивов с одинаковым числом элементов типа Paper.







Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Конструктор_1
{
    class Program
    {
        static void Main(string[] args)
        {               
 
          
            Console.WriteLine();
            ResearchTeam team = new ResearchTeam();
            Paper[] papers = new Paper[2];
            papers[0] = new Paper("pub_4", new DateTime(1887, 6, 1));
            papers[1] = new Paper("pub_5", new DateTime(1889, 8, 21)); 
            team.AddPapers(papers);
 
            foreach (Paper paper in team.list)
            {
                Console.WriteLine(paper.Publication);
                Console.WriteLine(paper.Time.ToShortDateString());
            }
 
 
            Console.WriteLine(team.ToString());    
            
            Console.ReadKey();
        }
    }
 
 
 
    class Paper
    {
 
 
        string NameP { get; set; }   // свойство типа string , в котором хранится название публикации
        string Author { get; set; }   // свойство типа Person для автора публикации
        DateTime Data { get; set; }   // свойство типа DateTime c датой публикации
 
 
        //конструктор c параметрами типа string, Person, DateTime для инициализации всех свойств класса;
        public Paper(string name, string author, DateTime data)
        {
            NameP = name;
            Author = author;
            Data = data;
        }
 
        // конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию
        public Paper() : this("WarandWorld", "Lolstoy", new DateTime(1889, 7, 1)) { }        
 
        
 
        public Paper(string publication, DateTime time)
        {
            Publication = publication;
            Time=time  ;
        }
        public string Publication;
 
        public DateTime Time;
    }
 
    //Определить тип TimeFrame  перечисление(enum) со значениями Year, TwoYears, Long.
    enum TimeFrame { Year, TwoYears, Long }
 
 
    class ResearchTeam
    {
 
 
        private string Theme;        // закрытое поле типа string c названием темы исследований
        private string NameOfOrg;    // закрытое поле типа string с названием организации
        private int NumberOfRed;     // закрытое поле типа int - регистрационный номер
        private TimeFrame Last;      // закрытое поле типа TimeFrame для информации о продолжительности ис-следований
        // закрытое поле типа Paper*+, в котором хранится список публикаций
        private List<Paper> Papers = new List<Paper>() { new Paper("pub_1", new DateTime(1881, 6, 2)), new Paper("pub_2", new DateTime(1883, 6, 2)), new Paper("pub_3", new DateTime(1885, 6, 2)) } ;  //,
 
 
 
        //  В классе ResearchTeam определить конструкторы  :
        //  Конструктор c параметрами типа string, string, int, TimeFrame для инициализации соответствующих полей класса
 
 
        public ResearchTeam(string theme, string nameoforg, int numberofred)
        {
            Theme = theme;
            NameOfOrg = nameoforg;
            NumberOfRed = numberofred;
 
        }
 
 
        //Конструктор без параметров, инициализирующий поля класса значениями по умолчанию         
        public ResearchTeam() : this("Ecology", "Colos", 1924714927) { }
 
 
        //В классе ResearchTeam определить свойства c методами get и set
        //Cвойство типа string для доступа к полю с названием темы исследова-ний
        public string theme
        {
            get
            {
                return Theme;
            }
        }
 
        //Cвойство типа string для доступа к полю с названием организации
        public string nameoforg
        {
            get
            {
                return NameOfOrg;
            }
        }
 
        //Cвойство типа int для доступа к полю с номером регистрации
        public int numberofred
        {
            get
            {
                return NumberOfRed;
            }
        }
 
        //Cвойство типа TimeFrame для доступа к полю с продолжительностью ис-следований
        public TimeFrame last
        {
            get
            {
                return Last;
            }
        }
 
        //Cвойство типа Paper[] для доступа к полю со списком публикаций по те-ме исследований    
 
        public List<Paper> list
        {
            get { return Papers; }
 
            set { Papers = value; }
        }
 
 
        public void AddPapers(Paper[] papers)
        {
            Papers.AddRange(papers);
        }      
        
 
        public override string ToString()    
        {
            return  string.Join(",", Papers.Select(p => p.Publication));
        }
 
              
    }
 
 
}
          
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.