Advertisement
_KAGATUN_

Untitled

May 6th, 2024
545
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.76 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace DefinitionDelay
  6. {
  7.     public static class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             List<StewedMeat> stewedMeats = new List<StewedMeat>
  12.             {
  13.                 new StewedMeat ("Главпродукт", 2018, 5),
  14.                 new StewedMeat ("Мясной Дом Бородина", 2022, 4),
  15.                 new StewedMeat ("Елинский", 2023, 3),
  16.                 new StewedMeat ("Мясная классика", 2020, 3),
  17.                 new StewedMeat ("Мясокомбинат Курганский",2023, 2),
  18.                 new StewedMeat ("Курганский стандарт", 2023, 3),
  19.                 new StewedMeat ("Великолукский мясокомбинат", 2020, 3),
  20.                 new StewedMeat ("Армавирский мясокомбинат", 2022, 2),
  21.                 new StewedMeat ("ГОСТ", 2022, 4),
  22.                 new StewedMeat ("Московская мясная фабрика", 2020, 3),
  23.                 new StewedMeat ("Мясной сезон", 2021, 2),
  24.                 new StewedMeat ("Мясной сезон", 2024, 3),
  25.                 new StewedMeat ("Хороший выбор", 2020, 3),
  26.             };
  27.  
  28.             Information information = new Information(stewedMeats);
  29.  
  30.             int currentYear = 2024;
  31.  
  32.             Console.WriteLine($"Срок годности истек в {2024}. Список всех банок просроченной тушенки\n");
  33.             information.ShowOverdue(currentYear);
  34.         }
  35.     }
  36.  
  37.     class StewedMeat
  38.     {
  39.         public StewedMeat(string title, int dateManufacture, int shelfLife)
  40.         {
  41.             Title = title;
  42.             DateManufacture = dateManufacture;
  43.             ShelfLife = shelfLife;
  44.         }
  45.  
  46.         public string Title { get; private set; }
  47.         public int DateManufacture { get; private set; }
  48.         public int ShelfLife { get; private set; }
  49.  
  50.         public void ShowInfo()
  51.         {
  52.             Console.WriteLine($"Название: {Title}, Год изготовления: {DateManufacture}, Срок годности: {ShelfLife}");
  53.         }
  54.     }
  55.  
  56.     class Information
  57.     {
  58.         private List<StewedMeat> _stewedMeats;
  59.  
  60.         public Information(List<StewedMeat> stewedMeat)
  61.         {
  62.             _stewedMeats = stewedMeat;
  63.         }
  64.  
  65.         public void ShowOverdue(int currentYear)
  66.         {
  67.             var sortedStewedMeats = _stewedMeats.Where(stewedMeat => (stewedMeat.DateManufacture + stewedMeat.ShelfLife) < currentYear);
  68.  
  69.             foreach (var stewedMeat in sortedStewedMeats)
  70.             {
  71.                 stewedMeat.ShowInfo();
  72.             }
  73.         }
  74.     }
  75. }
  76.  
  77.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement