Advertisement
Cataykus

Untitled

Apr 22nd, 2020
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.05 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 dz1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Random random = new Random();
  14.  
  15.             List<CarPart> partsStorage = new List<CarPart>()
  16.             {
  17.                 new CarPart(random, "Двигатель"),
  18.                 new CarPart(random, "Двигатель"),
  19.                 new CarPart(random, "Двигатель"),
  20.                 new CarPart(random, "Дверь"),
  21.                 new CarPart(random, "Дверь"),
  22.                 new CarPart(random, "Дверь"),
  23.                 new CarPart(random, "Окно"),
  24.                 new CarPart(random, "Окно"),
  25.                 new CarPart(random, "Окно")
  26.             };
  27.  
  28.             List<Car> checkLists = new List<Car>()
  29.             {
  30.                 new Car(random, "Двигатель"),
  31.                 new Car(random, "Окно"),
  32.                 new Car(random, "Двигатель"),
  33.                 new Car(random, "Двигатель"),
  34.                 new Car(random, "Дверь"),
  35.                 new Car(random, "Окно"),
  36.                 new Car(random, "Двигатель"),
  37.                 new Car(random, "Двигатель"),
  38.                 new Car(random, "Окно")
  39.             };
  40.  
  41.             CarService service = new CarService(1000, partsStorage);
  42.  
  43.             foreach (var checkList in checkLists)
  44.             {
  45.                 service.Repair(checkList);
  46.             }
  47.         }
  48.     }
  49.  
  50.     class CarService
  51.     {
  52.         public int Balance { get; private set; }
  53.         public List<CarPart> PartsStorage { get; private set; }
  54.  
  55.         public CarService(int balance, List<CarPart> partsStorage)
  56.         {
  57.             Balance = balance;
  58.             PartsStorage = partsStorage;
  59.         }
  60.  
  61.         public void Repair(Car checkList)
  62.         {
  63.             Console.Clear();
  64.  
  65.             checkList.ShowInfo();
  66.  
  67.             ShowStorage();
  68.  
  69.             Console.WriteLine("Выберите какой деталью хотите произвести замену\nrefuse - Отказаться");
  70.  
  71.             if (int.TryParse(Console.ReadLine(), out int _input ))
  72.             {
  73.                 if(PartsStorage[_input].PartType == checkList.Breakdown.PartType)
  74.                 {
  75.                     PartsStorage.RemoveAt(_input);
  76.                     Balance += checkList.WorkPrice;
  77.                 }
  78.                 else
  79.                 {
  80.                     PayFine();
  81.                 }
  82.             }
  83.             else
  84.             {
  85.                 PayFine();
  86.             }
  87.         }
  88.  
  89.         private void PayFine()
  90.         {
  91.             Console.WriteLine("Выплачен штраф\nНажмите что бы продолжить ...");
  92.             Balance -= 100;
  93.             Console.ReadKey();
  94.         }
  95.  
  96.         public void ShowStorage()
  97.         {
  98.             Console.WriteLine($"Ваш баланс: {Balance}\nВаше хранилище:");
  99.             for (int i = 0; i < PartsStorage.Count; i++)
  100.             {
  101.                 Console.WriteLine($"{i}) Тип детали: {PartsStorage[i].PartType}");
  102.             }
  103.         }
  104.     }
  105.  
  106.     class Car
  107.     {
  108.         public CarPart Breakdown { get; private set; }
  109.         public int WorkPrice { get; private set; }
  110.  
  111.         public Car(Random random, string type)
  112.         {
  113.             Breakdown = new CarPart(random, type);
  114.             WorkPrice = Breakdown.PartPrice + random.Next(10, 101);
  115.         }
  116.  
  117.         public void ShowInfo()
  118.         {
  119.             Console.WriteLine($"Чек-лист работы:\nТип поломки: {Breakdown.PartType}\nСтоимость работы: {WorkPrice}");
  120.         }
  121.     }
  122.  
  123.     class CarPart
  124.     {
  125.         public string PartType { get; private set; }
  126.         public int PartPrice { get; private set; }
  127.         public CarPart(Random random, string type)
  128.         {
  129.             PartType = type;
  130.             PartPrice = random.Next(10, 101);
  131.         }
  132.     }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement