Пример #1
0
        static void Main(string[] args)
        {
            string[] carInfo = Console.ReadLine()
                               .Split(" ", StringSplitOptions.RemoveEmptyEntries);
            string[] truckInfo = Console.ReadLine()
                                 .Split(" ", StringSplitOptions.RemoveEmptyEntries);
            string[] busInfo = Console.ReadLine()
                               .Split(" ", StringSplitOptions.RemoveEmptyEntries);

            Car   car   = new  Car(double.Parse(carInfo[1]), double.Parse(carInfo[2]), double.Parse(carInfo[3]));
            Truck truck = new Truck(double.Parse(truckInfo[1]), double.Parse(truckInfo[2]), double.Parse(truckInfo[3]));
            Bus   bus   = new Bus(double.Parse(busInfo[1]), double.Parse(busInfo[2]), double.Parse(busInfo[3]));

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

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

                switch (commandElements[0])
                {
                case "Drive":
                    double distance = double.Parse(commandElements[2]);
                    switch (commandElements[1])
                    {
                    case "Car":
                        car.Drive(distance);
                        break;

                    case "Truck":
                        truck.Drive(distance);
                        break;

                    case "Bus":
                        bus.Drive(distance);
                        break;
                    }
                    break;

                case "DriveEmpty":
                    bus.DriveEmpty(double.Parse(commandElements[2]));
                    break;

                case "Refuel":
                    double fuelLiters = double.Parse(commandElements[2]);

                    switch (commandElements[1])
                    {
                    case "Car":
                        car.Refuel(fuelLiters);
                        break;

                    case "Truck":
                        truck.Refuel(fuelLiters);
                        break;

                    case "Bus":
                        bus.Refuel(fuelLiters);
                        break;
                    }
                    break;
                }
            }

            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
Пример #2
0
        static void Main(string[] args)
        {
            string[] carInput          = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            double   litersQuantityCar = double.Parse(carInput[1]);
            double   litterPerKmCar    = double.Parse(carInput[2]);
            double   tankCapacityCar   = double.Parse(carInput[3]);

            string[] truckInput          = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            double   litersQuantityTruck = double.Parse(truckInput[1]);
            double   litterPerKmTruck    = double.Parse(truckInput[2]);
            double   tankCapacityTruck   = double.Parse(truckInput[3]);

            string[] busInput          = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            double   litersQuantityBus = double.Parse(busInput[1]);
            double   litterPerKmBus    = double.Parse(busInput[2]);
            double   tankCapacityBus   = double.Parse(busInput[3]);

            Car   car   = new Car(litersQuantityCar, litterPerKmCar, tankCapacityCar);
            Truck truck = new Truck(litersQuantityTruck, litterPerKmTruck, tankCapacityTruck);
            Bus   bus   = new Bus(litersQuantityBus, litterPerKmBus, tankCapacityBus);

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

            for (int i = 0; i < n; i++)
            {
                string[] input = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                string command = input[0].ToLower();
                string type    = input[1].ToLower();

                switch (command)
                {
                case "driveempty":
                    double distanceEmptyBus = double.Parse(input[2]);
                    bus.Drive(distanceEmptyBus);
                    break;

                case "drive":
                    double distance = double.Parse(input[2]);
                    switch (type)
                    {
                    case "car":
                        car.Drive(distance);
                        break;

                    case "truck":
                        truck.Drive(distance);
                        break;

                    case "bus":
                        bus.TravelWithPeople();
                        bus.Drive(distance);
                        break;
                    }
                    break;

                case "refuel":
                    double litters = double.Parse(input[2]);
                    switch (type)
                    {
                    case "car":
                        car.Refuel(litters);
                        break;

                    case "truck":
                        truck.Refuel(litters);
                        break;

                    case "bus":
                        bus.Refuel(litters);
                        break;
                    }
                    break;
                }
            }
            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
Пример #3
0
        static void Main(string[] args)
        {
            var      cars = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Vehicles car  = new Car(double.Parse(cars[1]), double.Parse(cars[2]), double.Parse(cars[3]));

            var      trucks = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Vehicles truck  = new Truck(double.Parse(trucks[1]), double.Parse(trucks[2]), double.Parse(trucks[3]));

            var      buss = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Vehicles bus  = new Bus(double.Parse(buss[1]), double.Parse(buss[2]), double.Parse(buss[3]));

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

            for (int i = 0; i < n; i++)
            {
                var tokens   = Console.ReadLine().Split();
                var commnad  = tokens[0];
                var vehicle  = tokens[1];
                var distance = double.Parse(tokens[2]);

                Vehicles vehicles;
                if (vehicle == "Car")
                {
                    vehicles = car;
                }
                else if (vehicle == "Truck")
                {
                    vehicles = truck;
                }
                else
                {
                    vehicles = bus;
                }

                try
                {
                    switch (commnad)
                    {
                    case "Drive":
                        vehicles.Drive(distance);
                        Console.WriteLine($"{vehicles.GetType().Name} travelled {distance} km");
                        break;

                    case "DriveEmpty":
                        ((Bus)vehicles).DriveEmpty(distance);
                        Console.WriteLine($"{vehicles.GetType().Name} travelled {distance} km");
                        break;

                    case "Refuel":
                        vehicles.Refuel(distance);
                        break;
                    }
                }
                catch (Exception exception)
                {
                    Console.WriteLine(exception.Message);
                }
            }

            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
Пример #4
0
        static void Main()
        {
            var carArgs          = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            var car              = new Car(double.Parse(carArgs[1]), double.Parse(carArgs[2]), double.Parse(carArgs[3]));
            var truckArgs        = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            var truck            = new Truck(double.Parse(truckArgs[1]), double.Parse(truckArgs[2]), double.Parse(truckArgs[3]));
            var busArgs          = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            var bus              = new Bus(double.Parse(busArgs[1]), double.Parse(busArgs[2]), double.Parse(busArgs[3]));
            var numberOfCommands = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfCommands; i++)
            {
                var commandArgs = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                var command     = commandArgs[0];
                var vehicle     = commandArgs[1];

                try
                {
                    if (command == "Drive")
                    {
                        if (vehicle == "Car")
                        {
                            car.Driving(double.Parse(commandArgs[2]));
                        }
                        else if (vehicle == "Truck")
                        {
                            truck.Driving(double.Parse(commandArgs[2]));
                        }
                        else if (vehicle == "Bus")
                        {
                            bus.DrivingFull();
                            bus.Driving(double.Parse(commandArgs[2]));
                            bus.DrivingEmpty();
                        }
                    }
                    else if (command == "Refuel")
                    {
                        if (vehicle == "Truck")
                        {
                            truck.Refuel(double.Parse(commandArgs[2]));
                        }
                        else if (vehicle == "Car")
                        {
                            car.Refuel(double.Parse(commandArgs[2]));
                        }
                        else if (vehicle == "Bus")
                        {
                            bus.Refuel(double.Parse(commandArgs[2]));
                        }
                    }
                    else if (command == "DriveEmpty")
                    {
                        bus.Driving(double.Parse(commandArgs[2]));
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
Пример #5
0
        public static void Main()
        {
            string[] carInfo = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Car      car     = new Car(double.Parse(carInfo[1]), double.Parse(carInfo[2]), double.Parse(carInfo[3]));

            string[] truckInfo = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Truck    truck     = new Truck(double.Parse(truckInfo[1]), double.Parse(truckInfo[2]), double.Parse(truckInfo[3]));

            string[] busInfo = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Bus      bus     = new Bus(double.Parse(busInfo[1]), double.Parse(busInfo[2]), double.Parse(busInfo[3]));

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

            for (int command = 0; command < totalCommands; command++)
            {
                string[] commandInfo = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                string   vehicleType = commandInfo[1];
                double   litters     = double.Parse(commandInfo[2]);

                try
                {
                    switch (commandInfo[0])
                    {
                    case "Drive":
                        if (vehicleType == "Car")
                        {
                            Console.WriteLine(car.Drive(litters));
                        }
                        else if (vehicleType == "Truck")
                        {
                            Console.WriteLine(truck.Drive(litters));
                        }
                        else if (vehicleType == "Bus")
                        {
                            bus.FuelConsumption += 1.4;
                            Console.WriteLine(bus.Drive(litters));
                            bus.FuelConsumption -= 1.4;
                        }
                        break;

                    case "Refuel":
                        if (vehicleType == "Car")
                        {
                            car.Refuel(litters);
                        }
                        else if (vehicleType == "Truck")
                        {
                            truck.Refuel(litters);
                        }
                        else if (vehicleType == "Bus")
                        {
                            bus.Refuel(litters);
                        }
                        break;

                    case "DriveEmpty":
                        Console.WriteLine(bus.Drive(litters));
                        break;

                    default:
                        break;
                    }
                }
                catch (ArgumentException ae)
                {
                    Console.WriteLine(ae.Message);
                }
            }

            Console.WriteLine($"Car: {car.FuelQuantity:f2}");
            Console.WriteLine($"Truck: {truck.FuelQuantity:f2}");
            Console.WriteLine($"Bus: {bus.FuelQuantity:f2}");
        }
Пример #6
0
        public static void Main()
        {
            string         input    = Console.ReadLine();
            List <Vehicle> vehicles = new List <Vehicle>();

            string[] carDetails      = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            double   carFuel         = double.Parse(carDetails[1]);
            double   carConsumption  = double.Parse(carDetails[2]);
            double   carTankCapacity = double.Parse(carDetails[3]);
            Vehicle  car             = new Car(carFuel, carConsumption, carTankCapacity);

            vehicles.Add(car);

            input = Console.ReadLine();

            string[] truckDetails      = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            double   truckFuel         = double.Parse(truckDetails[1]);
            double   truckConsumption  = double.Parse(truckDetails[2]);
            double   truckTankCapacity = double.Parse(truckDetails[3]);
            Vehicle  truck             = new Truck(truckFuel, truckConsumption, truckTankCapacity);

            vehicles.Add(truck);

            input = Console.ReadLine();

            string[] busDetails      = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            double   busFuel         = double.Parse(busDetails[1]);
            double   busConsumption  = double.Parse(busDetails[2]);
            double   busTankCapacity = double.Parse(busDetails[3]);
            Bus      bus             = new Bus(busFuel, busConsumption, busTankCapacity);
            //vehicles.Add(bus);

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

            for (int i = 0; i < lines; i++)
            {
                input = Console.ReadLine();
                string[] splittedInput = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                string command = splittedInput[0];
                string vehicle = splittedInput[1];
                double number  = double.Parse(splittedInput[2]);

                if (command == "Drive")
                {
                    if (vehicle == "Car")
                    {
                        car.Drive(number);
                    }
                    else if (vehicle == "Truck")
                    {
                        truck.Drive(number);
                    }
                    else
                    {
                        bus.Drive(number);
                    }
                }
                else if (command == "Refuel")
                {
                    if (vehicle == "Car")
                    {
                        car.Refuel(number);
                    }
                    else if (vehicle == "Truck")
                    {
                        truck.Refuel(number);
                    }
                    else
                    {
                        bus.Refuel(number);
                    }
                }
                else
                {
                    bus.DriveEmpty(number);
                }
            }

            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
Пример #7
0
 private static void PrintVehicles(Car car, Truck truck, Bus bus)
 {
     Console.WriteLine(car);
     Console.WriteLine(truck);
     Console.WriteLine(bus);
 }