Главная страница

Прикладное программирование. АндрееваПрикладное ПР_КР2. Исследования,0,TimeFrame. Year


Скачать 20.9 Kb.
НазваниеИсследования,0,TimeFrame. Year
АнкорПрикладное программирование
Дата01.03.2023
Размер20.9 Kb.
Формат файлаdocx
Имя файлаАндрееваПрикладное ПР_КР2.docx
ТипДокументы
#963293

Контрольная по с#

Задание 1
using System;
namespace Home

{

class Program

{

static void Main(string[] args)

{
ResearchTeam RT = new ResearchTeam("Организация","Тема исследования",0,TimeFrame.Year);

Console.WriteLine(RT.ToShortString());

Console.WriteLine(RT[TimeFrame.Year].ToString());

Console.WriteLine(RT[TimeFrame.TwoYear].ToString());

Console.WriteLine(RT[TimeFrame.Long].ToString());
RT.setName("Другая организация");

RT.setResearchName("Другое исследование");

RT.setTimeFrame(TimeFrame.Long);

RT.setID(125);

Console.WriteLine(RT.ToString());

Paper[] localpps = new Paper[8];

Random ran = new Random();

for (int i = 0; i < localpps.Length; i++)

{

localpps[i] = new Paper();

localpps[i].Name = "Публикация №"+i.ToString();

localpps[i].Date=localpps[i].Date.AddDays(ran.Next(0,364));

}

RT.addPaper(localpps);

Console.WriteLine(RT.ToString());

Console.WriteLine("Последняя статья "+RT.getLastPaper().Name);


}
}

class Person

{

private string Name, Surname;

private DateTime BDate;
public Person(string Name, string Sname, DateTime BDate)

{

this.Name = Name;

this.Surname = Sname;

this.BDate = BDate;

}
public Person()

{

Name = "Без имени";

Surname = "Без фамилии";

BDate = new DateTime(1950, 1, 1);
}
public string getName()

{

return Name;

}

public string getSurname()

{

return Surname;

}

public DateTime getDate()

{

return BDate;

}

public int getIntDate()

{

return BDate.Year;

}

public void setName(string Name)

{

this.Name = Name;

}

public void setSurname(string SName)

{

this.Surname = SName;

}

public void setDate(DateTime D)

{

this.BDate = D;

}

public void setIntDate(int Year)

{

BDate.AddYears(Year);

}

public override string ToString()

{

return new string("Name " + Name + " Surname " + Surname + " Birthday " + BDate.ToString() + "\n");

}
public virtual string ToShortString()

{
return new string("Name " + Name + " Surname " + Surname);

}
}
enum TimeFrame

{

Year,

TwoYear,

Long

}
class Paper

{

public string Name;

public Person Own;

public DateTime Date;
public Paper()

{


Name = "Безымянная статья";

Own = new Person();

Date = new DateTime(2000,1,1);
}

public Paper(string name, Person person, DateTime D)

{

Name = name;

Own = person;

Date = D;

}
public override string ToString()

{

return new string("Название газеты " + Name + ", Автор газеты " + Own.getName() + ", Дата " + Date.ToString()+"\n");

}

}
class ResearchTeam

{

private string ResearchName;

private string Name;

private int ID;

private TimeFrame Time;

private Paper[] Papers;


public ResearchTeam()

{

Name = "корганизация без имени";

ResearchName = "тема исследования";

Time = TimeFrame.Year;

ID = 0;
}
public ResearchTeam(string name, string rname, int id, TimeFrame t)

{

Name = name;

ResearchName = rname;

ID = id;

Time = t;


}
public string getName()

{

return Name;

}
public TimeFrame getTimeFrame()

{

return Time;

}
public int getID()

{

return ID;

}
public string getResearchName()

{

return ResearchName;

}
public void setName(string name)

{

Name = name;

}
public void setResearchName(string name)

{

ResearchName = name;

}
public void setTimeFrame(TimeFrame t)

{

Time = t;

}
public void setID(int id)

{

ID = id;

}
public void setPapers(Paper[] pp)

{

Papers = pp;

}

public Paper[] getPapers()

{

return Papers;

}
public Paper getLastPaper()

{

//если длина равна нулю то нет публикаций

if (Papers.Length == 0)

{

return null;

}

//присваем дату первой публикации

Paper AfterDatepaper = Papers[0];

//цикл

for (int i=0;i< Papers.Length; i++)

{

//определяем позднюю публикацию перезагруженным оператором сравнения для DateTime

if (AfterDatepaper.Date < Papers[i].Date) { AfterDatepaper = Papers[i]; }

}
return AfterDatepaper;
}

public bool this[TimeFrame t]

{

get

{

if (Time == t)

{

return true;

}

return false;

}
}
public void addPaper(Paper[] pps)

{

int l = 0;

if (Papers != null)

{

l = Papers.Length;

}
Paper[] pp = new Paper[l + pps.Length];//Создвем массив с размером старого если он существует
if (Papers != null)

{

Papers.CopyTo(pp, 0);//копируем данные со старого

}


pps.CopyTo(pp, l);//аналогично, только с индекса после старых элементов

Papers = pp;//присваем адрес нового массива
}

public override string ToString()

{

string A = "";

if (Papers != null)

{

for (int i = 0; i < Papers.Length; i++)

{

A = A + "\nНомер публикации[" + i.ToString() + "] " + Papers[i].ToString();
}

}
return new string("Название организации " + Name + "\nНазвание темы исследования " + ResearchName + "\nНомер регистрации " + ID.ToString() + "\nПродолжительность " + Time.ToString() + "\n" + A);

}
public virtual string ToShortString()

{
return new string("Название организации " + Name + "\nНазвание темы исследования " + ResearchName + "\nНомер регистрации " + ID.ToString() + "\nПродолжительность " + Time.ToString() + "\n");

}


}

}


написать администратору сайта