Загрузка данных


using System;
using System.Collections.Generic;
using System.Linq;
using System.Diagnostics;

class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }
    public int Quantity { get; set; }
}

class Program
{
    static void Main()
    {
        Stopwatch timer = Stopwatch.StartNew();

        List<Product> products = new List<Product>
        {
            new Product { Name = "Ноутбук", Price = 65000, Quantity = 3 },
            new Product { Name = "Мышь", Price = 1500, Quantity = 10 },
            new Product { Name = "Клавиатура", Price = 4000, Quantity = 5 },
            new Product { Name = "Монитор", Price = 20000, Quantity = 4 },
            new Product { Name = "Наушники", Price = 3000, Quantity = 8 }
        };

        while (true)
        {
            Console.WriteLine("\n=== МИНИ-МАГАЗИН ===");
            Console.WriteLine("1. Показать товары");
            Console.WriteLine("2. Найти товар");
            Console.WriteLine("3. Сортировать по цене");
            Console.WriteLine("4. Посчитать стоимость склада");
            Console.WriteLine("0. Выход");
            Console.Write("Выберите действие: ");

            string choice = Console.ReadLine();

            if (choice == "0")
                break;

            switch (choice)
            {
                case "1":
                    foreach (Product p in products)
                        Console.WriteLine(
                            $"{p.Name}: {p.Price} руб., остаток: {p.Quantity}");
                    break;

                case "2":
                    Console.Write("Введите название: ");
                    string name = Console.ReadLine();

                    var found = products.Where(p =>
                        p.Name.IndexOf(name,
                        StringComparison.OrdinalIgnoreCase) >= 0);

                    foreach (Product p in found)
                        Console.WriteLine($"{p.Name} — {p.Price} руб.");
                    break;

                case "3":
                    foreach (Product p in products.OrderBy(p => p.Price))
                        Console.WriteLine($"{p.Name} — {p.Price} руб.");
                    break;

                case "4":
                    decimal total = products.Sum(
                        p => p.Price * p.Quantity);

                    Console.WriteLine(
                        $"Стоимость склада: {total} руб.");
                    break;

                default:
                    Console.WriteLine("Неизвестная команда!");
                    break;
            }
        }

        timer.Stop();

        Console.WriteLine("\n=== ПРОГРАММА ЗАВЕРШЕНА ===");
        Console.WriteLine($"Время работы: {timer.Elapsed.TotalSeconds:F2} секунд");

        Console.WriteLine("Нажмите любую клавишу...");
        Console.ReadKey();
    }
}