Advertisement
MaoChessy

Task - 43

Nov 21st, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace LinqTrain
  6. {
  7.     class Program
  8.     {
  9.         public static void Main()
  10.         {
  11.             int yearNow = 2000;
  12.             List<Stew> stews = new List<Stew>();
  13.             for (int i = 0; i < 60; i++)
  14.             {
  15.                 stews.Add(new Stew());
  16.                 Console.WriteLine(stews[i].GetInfo(yearNow));
  17.             }
  18.             Console.ReadKey();
  19.             Console.Clear();
  20.  
  21.             List<Stew> sortList = stews.Where(stew => stew.CheckFreshness(yearNow) == false).ToList<Stew>();
  22.             Console.WriteLine($"Год сейчас - {yearNow} \nВывод просроченной тушенки");
  23.             foreach (var stew in sortList)
  24.             {
  25.                 Console.WriteLine(stew.GetInfo(yearNow));
  26.             }
  27.             Console.ReadKey();
  28.         }
  29.     }
  30.     public static class RandomStatic
  31.     {
  32.         static private Random _rand = new Random();
  33.         static public int GetNext(int min, int max)
  34.         {
  35.             return _rand.Next(min, max);
  36.         }
  37.     }
  38.     public class Stew
  39.     {
  40.         public string Name { get; private set; }
  41.         public int ProductionYear { get; private set; }
  42.         public int ShelfLife { get; private set; }
  43.         public Stew()
  44.         {
  45.             int index = RandomStatic.GetNext(0, 3);
  46.             Name = new string[] { "Производитель 1", "Производитель 2", "Производитель 3" }[index];
  47.             ProductionYear = new int[] { RandomStatic.GetNext(1970, 1975), RandomStatic.GetNext(1976, 1980), RandomStatic.GetNext(1980, 1985) }[index];
  48.             ShelfLife = RandomStatic.GetNext(20, 35);
  49.         }
  50.         public bool CheckFreshness(int yearNow)
  51.         {
  52.             return ProductionYear + ShelfLife > yearNow;
  53.         }
  54.         public string GetInfo(int yearNow)
  55.         {
  56.             return $"{Name} - Произведена {ProductionYear} - срок годности {ShelfLife} - Истек {!CheckFreshness(yearNow)}";
  57.         }
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement