Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- internal class Program
- {
- //Есть набор тушенки.У тушенки есть название, год производства и срок годности.
- //Написать запрос для получения всех просроченных банок тушенки.
- //Чтобы не заморачиваться, можете думать, что считаем только года, без месяцев.
- static void Main(string[] args)
- {
- Warehouse warehouse = new Warehouse();
- warehouse.RunProgram();
- }
- class Stew
- {
- public string Name { get; }
- public DateTime ShelfLife { get; }
- private DateTime _productionDate;
- public Stew(int year, int mounth, int day)
- {
- int shelfLifeYears = 2;
- Name = "Тушенка";
- ShelfLife = new DateTime(year + shelfLifeYears, mounth, day);
- _productionDate = new DateTime(year, mounth, day);
- }
- public void ShowInfo()
- {
- Console.WriteLine("Дата изготовления: " + _productionDate.ToString("g"));
- Console.WriteLine("Годен до: " + ShelfLife.ToString("g"));
- }
- }
- class Warehouse
- {
- private List<Stew> _stews;
- private DateTime _today;
- public Warehouse()
- {
- _today = DateTime.Today;
- _stews = new List<Stew>();
- Fill();
- }
- public void RunProgram()
- {
- bool inProgram = true;
- string commandPointOne = "1";
- string commandExitProgram = "Exit";
- while (inProgram)
- {
- Console.WriteLine("На складе:\n");
- ShowWarehouse();
- Console.Write($"\nЧто бы узнать есть ли просрочка введите - {commandPointOne}" +
- $"\nЧто бы завершить программу введите - {commandExitProgram}\nВаш выбор: ");
- string userInput = Console.ReadLine();
- Console.WriteLine("");
- if (userInput == commandPointOne)
- {
- ShowDeadlinesStew();
- }
- else if (userInput == commandExitProgram)
- {
- Console.WriteLine("Программа завершена.");
- inProgram = false;
- }
- else
- {
- Console.WriteLine("Ошибка ввода!");
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- private void ShowDeadlinesStew()
- {
- Console.WriteLine("Сегодня - " + _today.ToString("g"));
- var spoiledStews = _stews.Where(stew => stew.ShelfLife < _today);
- Console.WriteLine("ПРОСРОЧКА:");
- foreach (var stew in spoiledStews)
- {
- stew.ShowInfo();
- }
- }
- private void ShowWarehouse()
- {
- foreach (var stew in _stews)
- {
- stew.ShowInfo();
- }
- }
- private void Fill()
- {
- Stew[] stews =
- {
- new Stew(2020, 04, 14), new Stew(2021, 07, 07),
- new Stew(2020, 01, 10), new Stew(2019, 06, 21),
- new Stew(2020, 12, 08), new Stew(2022, 02, 18),
- new Stew(1991, 01, 01), new Stew(2018, 11, 30)
- };
- _stews.AddRange(stews);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement