コード例 #1
0
ファイル: Startup.cs プロジェクト: MihailDobrev/SoftUni
        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}");
        }
コード例 #2
0
ファイル: StartUp.cs プロジェクト: YovkoGospodinov/SoftUni
        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);
        }