Пример #1
0
        static void Main(string[] args)
        {
            string[] carInput           = Console.ReadLine().Split();
            double   carFuelQuantity    = double.Parse(carInput[1]);
            double   carFuelConsumption = double.Parse(carInput[2]);
            double   carTankCapacity    = double.Parse(carInput[3]);
            Vehicle  car = new Car(carFuelQuantity, carFuelConsumption, carTankCapacity);

            string[] truckInput           = Console.ReadLine().Split();
            double   truckFuelQuantity    = double.Parse(truckInput[1]);
            double   truckFuelConsumption = double.Parse(truckInput[2]);
            double   truckTankCapacity    = double.Parse(truckInput[3]);
            Vehicle  truck = new Truck(truckFuelQuantity, truckFuelConsumption, truckTankCapacity);

            string[] busInput           = Console.ReadLine().Split();
            double   busFuelQuantity    = double.Parse(busInput[1]);
            double   busFuelConsumption = double.Parse(busInput[2]);
            double   busTankCapacity    = double.Parse(busInput[3]);
            Vehicle  bus = new Bus(busFuelQuantity, busFuelConsumption, busTankCapacity);

            Vehicle[] vehicleArr = new Vehicle[3] {
                car, truck, bus
            };

            int n = int.Parse(Console.ReadLine());

            for (int i = 0; i < n; i++)
            {
                string[] commTokens = Console.ReadLine().Split();

                string commType    = commTokens[0];
                string vehicleType = commTokens[1];

                try
                {
                    switch (commType)
                    {
                    case "Drive":
                        double kilometres = double.Parse(commTokens[2]);
                        Console.WriteLine(((Vehicle)vehicleArr.FirstOrDefault(x => x.GetType().ToString() == vehicleType)).Drive(kilometres));
                        break;

                    case "DriveEmpty":
                        double emptyKilometres = double.Parse(commTokens[2]);
                        Console.WriteLine(bus.DriveEmpty(emptyKilometres));
                        break;

                    case "Refuel":
                        double fuelToAdd = double.Parse(commTokens[2]);
                        ((Vehicle)vehicleArr.FirstOrDefault(x => x.GetType().ToString() == vehicleType)).Refuel(fuelToAdd);
                        break;

                    default:
                        break;
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            Console.WriteLine(car.ToString());
            Console.WriteLine(truck.ToString());
            Console.WriteLine(bus.ToString());
        }
Пример #2
0
        public static void Main(string[] args)
        {
            List <Vehicle> vehicles = new List <Vehicle>();

            for (int i = 0; i < 3; i++)
            {
                var input       = Console.ReadLine().Split();
                var quantity    = double.Parse(input[1]);
                var consumption = double.Parse(input[2]);
                var capacity    = double.Parse(input[3]);

                switch (input[0])
                {
                case "Car":
                    currentCar = new Car(quantity, consumption, capacity);
                    break;

                case "Truck":
                    currentTruck = new Truck(quantity, consumption, capacity);
                    break;

                case "Bus":
                    currentBus = new Bus(quantity, consumption, capacity);

                    break;
                }
            }

            int numOfCommands = int.Parse(Console.ReadLine());



            for (int i = 0; i < numOfCommands; i++)
            {
                var input = Console.ReadLine().Split();

                var     action         = input[0];
                var     vehicleType    = input[1];
                var     amount         = double.Parse(input[2]);
                Vehicle currentVehicle = null;


                switch (vehicleType)
                {
                case "Car":
                    currentVehicle = currentCar;
                    break;

                case "Truck":
                    currentVehicle = currentTruck;
                    break;

                case "Bus":
                    currentVehicle = currentBus;

                    break;
                }
                PerformAction(currentVehicle, action, amount);
            }

            Console.WriteLine($"{currentCar.ToString()}");
            Console.WriteLine($"{currentTruck.ToString()}");
            Console.WriteLine($"{currentBus.ToString()}");
        }
Пример #3
0
        static void Main(string[] args)
        {
            string[] inputCar   = Console.ReadLine().Split();
            string[] inputTruck = Console.ReadLine().Split();
            string[] inputTBus  = Console.ReadLine().Split();

            Vehicle car   = new Car(double.Parse(inputCar[1]), double.Parse(inputCar[2]), double.Parse(inputCar[3]));
            Vehicle truck = new Truck(double.Parse(inputTruck[1]), double.Parse(inputTruck[2]), double.Parse(inputTruck[3]));
            Vehicle bus   = new Bus(double.Parse(inputTBus[1]), double.Parse(inputTBus[2]), double.Parse(inputTBus[3]));

            int nLines = int.Parse(Console.ReadLine());

            for (int i = 0; i < nLines; i++)
            {
                try
                {
                    string[] commandArgs  = Console.ReadLine().Split();
                    string   command      = commandArgs[0];
                    string   vehicle      = commandArgs[1];
                    double   doubleNumber = double.Parse(commandArgs[2]);

                    if (command == "Drive")
                    {
                        if (vehicle == "Car")
                        {
                            car.Drive(doubleNumber, 0.9);
                        }
                        else if (vehicle == "Truck")
                        {
                            truck.Drive(doubleNumber, 1.6);
                        }
                        else if (vehicle == "Bus")
                        {
                            bus.Drive(doubleNumber, 1.4);
                        }
                    }
                    else if (command == "Refuel")
                    {
                        if (vehicle == "Car")
                        {
                            car.Refuel(doubleNumber);
                        }
                        else if (vehicle == "Truck")
                        {
                            truck.Refuel(doubleNumber);
                        }
                        else if (vehicle == "Bus")
                        {
                            bus.Refuel(doubleNumber);
                        }
                    }
                    else if (command == "DriveEmpty")
                    {
                        bus.Drive(doubleNumber, 0);
                    }
                }
                catch (ArgumentException ae)
                {
                    Console.WriteLine(ae.Message);
                }
            }
            Console.WriteLine(car.ToString());
            Console.WriteLine(truck.ToString());
            Console.WriteLine(bus.ToString());
        }