Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace dz1
- {
- class Program
- {
- static void Main(string[] args)
- {
- Random random = new Random();
- List<CarPart> partsStorage = new List<CarPart>()
- {
- new CarPart(random, "Двигатель"),
- new CarPart(random, "Двигатель"),
- new CarPart(random, "Двигатель"),
- new CarPart(random, "Дверь"),
- new CarPart(random, "Дверь"),
- new CarPart(random, "Дверь"),
- new CarPart(random, "Окно"),
- new CarPart(random, "Окно"),
- new CarPart(random, "Окно")
- };
- List<Car> checkLists = new List<Car>()
- {
- new Car(random, "Двигатель"),
- new Car(random, "Окно"),
- new Car(random, "Двигатель"),
- new Car(random, "Двигатель"),
- new Car(random, "Дверь"),
- new Car(random, "Окно"),
- new Car(random, "Двигатель"),
- new Car(random, "Двигатель"),
- new Car(random, "Окно")
- };
- CarService service = new CarService(1000, partsStorage);
- foreach (var checkList in checkLists)
- {
- service.Repair(checkList);
- }
- }
- }
- class CarService
- {
- public int Balance { get; private set; }
- public List<CarPart> PartsStorage { get; private set; }
- public CarService(int balance, List<CarPart> partsStorage)
- {
- Balance = balance;
- PartsStorage = partsStorage;
- }
- public void Repair(Car checkList)
- {
- Console.Clear();
- checkList.ShowInfo();
- ShowStorage();
- Console.WriteLine("Выберите какой деталью хотите произвести замену\nrefuse - Отказаться");
- if (int.TryParse(Console.ReadLine(), out int _input ))
- {
- if(PartsStorage[_input].PartType == checkList.Breakdown.PartType)
- {
- PartsStorage.RemoveAt(_input);
- Balance += checkList.WorkPrice;
- }
- else
- {
- PayFine();
- }
- }
- else
- {
- PayFine();
- }
- }
- private void PayFine()
- {
- Console.WriteLine("Выплачен штраф\nНажмите что бы продолжить ...");
- Balance -= 100;
- Console.ReadKey();
- }
- public void ShowStorage()
- {
- Console.WriteLine($"Ваш баланс: {Balance}\nВаше хранилище:");
- for (int i = 0; i < PartsStorage.Count; i++)
- {
- Console.WriteLine($"{i}) Тип детали: {PartsStorage[i].PartType}");
- }
- }
- }
- class Car
- {
- public CarPart Breakdown { get; private set; }
- public int WorkPrice { get; private set; }
- public Car(Random random, string type)
- {
- Breakdown = new CarPart(random, type);
- WorkPrice = Breakdown.PartPrice + random.Next(10, 101);
- }
- public void ShowInfo()
- {
- Console.WriteLine($"Чек-лист работы:\nТип поломки: {Breakdown.PartType}\nСтоимость работы: {WorkPrice}");
- }
- }
- class CarPart
- {
- public string PartType { get; private set; }
- public int PartPrice { get; private set; }
- public CarPart(Random random, string type)
- {
- PartType = type;
- PartPrice = random.Next(10, 101);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement