Advertisement
Dr_Max_Experience

Task 5

Jul 25th, 2022
833
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.76 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ООП
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Stock stock = new Stock();
  14.  
  15.             stock.Work();
  16.         }
  17.     }
  18.  
  19.     class Stew
  20.     {
  21.         public string Name { get; private set; }
  22.  
  23.         public int Year { get; private set; }
  24.  
  25.         public Stew(string name, int year)
  26.         {
  27.             Name = name;
  28.             Year = year;
  29.         }
  30.  
  31.         public void ShowInfo()
  32.         {
  33.             Console.WriteLine($"{Name} - {Year} года производства");
  34.         }
  35.     }
  36.  
  37.     class Stock
  38.     {
  39.         private List<Stew> _stews = new List<Stew>();
  40.  
  41.         public Stock()
  42.         {
  43.             int stewCount = 30;
  44.             int minYear = 1970;
  45.             int maxYear = 2023;
  46.             Random random = new Random();
  47.  
  48.             for (int i = 0; i < stewCount; i++)
  49.             {
  50.                 _stews.Add(new Stew($"Тушенка №{i}", random.Next(minYear, maxYear)));
  51.             }
  52.         }
  53.  
  54.         public void Work()
  55.         {
  56.             int shelfLifeInYears = 25;
  57.             int presentYear = 2022;
  58.  
  59.             Console.WriteLine($"Срок годности тушенки {shelfLifeInYears} лет. Просроченные банки тушенки: ");
  60.             var overdue = _stews.Where(stew => stew.Year < (presentYear - shelfLifeInYears)).ToList();
  61.             ShowOverdue(overdue);
  62.  
  63.             Console.ReadKey();
  64.         }
  65.  
  66.         private void ShowOverdue(List<Stew> overdue)
  67.         {
  68.             foreach (var stew in overdue)
  69.             {
  70.                 stew.ShowInfo();
  71.             }
  72.         }
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement