Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Лабы_по_проге
- {
- enum Frequency
- {
- Weekly,
- Monthly,
- Yearly
- }
- class Article
- {
- public Person Person { get; set; }
- public string ArticleName { get; set; }
- public double Rating { get; set; }
- public Article()
- {
- this.Person = new Person();
- this.ArticleName = "Beep";
- this.Rating = 10d;
- }
- public Article(Person person, string articleName, double rating)
- {
- this.Person = person;
- this.ArticleName = articleName;
- this.Rating = rating;
- }
- public override string ToString()
- {
- return "Made by: " + Person + "\n" +
- "Article Name: " + ArticleName + "\n" +
- "Rating: " + Rating;
- }
- }
- class Magazine
- {
- private string magazineName;
- private Frequency frequency;
- private DateTime releaseDate;
- private int quantity;
- private Article[] setOfArticles;
- public string MagazineName {
- get { return magazineName; }
- set { magazineName = value; }
- }
- public Frequency Frequency
- {
- get { return frequency; }
- set { frequency = value; }
- }
- public DateTime ReleaseDate
- {
- get { return releaseDate; }
- set { releaseDate = value; }
- }
- public int Quantity
- {
- get { return quantity; }
- set { quantity = value; }
- }
- public Article[] SetOfArticles
- {
- get { return setOfArticles; }
- set { setOfArticles = value; }
- }
- public double AverageRating
- {
- get
- {
- double rating = 0;
- for(int i = 0; i < setOfArticles.Length; i++)
- {
- rating += setOfArticles[i].Rating;
- }
- return rating / setOfArticles.Length;
- }
- }
- public bool this [Frequency frequency]
- {
- get { return this.frequency == frequency; }
- }
- public Magazine()
- {
- this.magazineName = "New magazin";
- this.frequency = Frequency.Monthly;
- this.releaseDate = new DateTime(01, 01, 1970);
- this.quantity = 1000;
- this.setOfArticles = new Article[] { };
- }
- public Magazine(string name, Frequency frequency, DateTime date,
- int quantity, Article[] setOfArticles)
- {
- this.magazineName = name;
- this.frequency = frequency;
- this.releaseDate = date;
- this.quantity = quantity;
- this.setOfArticles = setOfArticles;
- }
- public void AddArticles(params Article[] articles)
- {
- foreach(var i in articles)
- {
- setOfArticles.Append(i);
- }
- }
- public override string ToString()
- {
- string articles = "";
- foreach(var article in setOfArticles)
- {
- articles += article.ArticleName + ", ";
- }
- return "Magazin name: " + magazineName + "\n"+
- "Frequency: " + frequency + "\n" +
- "Release date: " + releaseDate + "\n" +
- "Quantity: " + quantity + "\n"+
- "Articles: " + articles;
- }
- public virtual string ToShortSrting()
- {
- return "Magazin name: " + magazineName + "\n" +
- "Frequency: " + frequency + "\n" +
- "Release date: " + releaseDate + "\n" +
- "Quantity: " + quantity + "\n" +
- "Average rating: " + AverageRating;
- }
- }
- class Person
- {
- private string firstName;
- private string lastName;
- private DateTime birthDate;
- public string FirstName {
- get
- {
- return firstName;
- }
- set
- {
- firstName = value;
- }
- }
- public string LastName
- {
- get
- {
- return lastName;
- }
- set
- {
- lastName = value;
- }
- }
- public DateTime BirthDate
- {
- get
- {
- return birthDate;
- }
- set
- {
- birthDate = value;
- }
- }
- public int GetBirthYear
- {
- get
- {
- return birthDate.Year;
- }
- set
- {
- birthDate = new DateTime(birthDate.Day, birthDate.Month, value);
- }
- }
- public Person()
- {
- this.firstName = "Ivan";
- this.lastName = "Ivanov";
- this.birthDate = new DateTime(01,01,1970);
- }
- public Person(string firstName, string lastName, DateTime birthDate)
- {
- this.firstName = firstName;
- this.lastName = lastName;
- this.birthDate = birthDate;
- }
- public override string ToString()
- {
- return "First Name: " + firstName + "\n" +
- "Second Name: " + lastName + "\n" +
- "Birth Date: " + birthDate;
- }
- public virtual string ToShortString()
- {
- return "First Name: " + firstName + "\n" +
- "Second Name: " + lastName;
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Magazine magazine = new Magazine();
- Console.WriteLine(magazine.ToShortSrting());
- Console.WriteLine(magazine[Frequency.Monthly]);
- magazine.MagazineName = "New";
- magazine.Frequency = Frequency.Yearly;
- magazine.ReleaseDate = new DateTime(02, 01, 2000);
- magazine.Quantity = 10;
- magazine.SetOfArticles = new Article[] { new Article() };
- }
- }
- }
Add Comment
Please, Sign In to add comment