コード例 #1
1
ファイル: Program.cs プロジェクト: thrusanova/OOPBasics
        static void Main(string[] args)
        {
            string[] inputCar = Console.ReadLine().Split(new[] { ' ', '\n', '\t' }, StringSplitOptions.RemoveEmptyEntries);
            double fuelCar = double.Parse(inputCar[1]);
            double litresCar = double.Parse(inputCar[2]);
            double tankCar = double.Parse(inputCar[3]);
            var car = new Car(fuelCar, litresCar,tankCar);

            string[] inputTruck = Console.ReadLine().Split(new[] { ' ', '\n', '\t' }, StringSplitOptions.RemoveEmptyEntries);
            double fuelTruck = double.Parse(inputTruck[1]);
            double litresTruck = double.Parse(inputTruck[2]);
            double tankTruck = double.Parse(inputTruck[3]);
            var truck = new Truck(fuelTruck, litresTruck,tankTruck);

            string[] inputBus = Console.ReadLine().Split(new[] { ' ', '\n', '\t' }, StringSplitOptions.RemoveEmptyEntries);
            double fuelBus = double.Parse(inputBus[1]);
            double litresBus = double.Parse(inputBus[2]);
            double tankBus = double.Parse(inputBus[3]);
            var bus = new Bus(fuelBus, litresBus, tankBus);
            int number = int.Parse(Console.ReadLine());
            for (int i = 0; i < number; i++)
            {
                string[] input = Console.ReadLine().Split(new[] { ' ', '\n', '\t' }, StringSplitOptions.RemoveEmptyEntries);
                string command = input[0];
                string machine = input[1];
                double distance = double.Parse(input[2]);
                if (command=="Drive")
                {
                    if (machine=="Car")
                    {
                        car.Drive(distance);
                    }
                    else if(machine=="Truck")
                    {
                        truck.Drive(distance);
                    }
                    else
                    {
                        bus.Drive(distance);
                    }
                }
                else if(command=="Refuel")
                {
                    if (machine=="Car")
                    {
                        car.Refuel(distance);
                    }
                    else if(machine=="Truck")
                    {
                        truck.Refuel(distance);
                    }
                    else
                    {
                        bus.Refuel(distance);
                    }
                }
                else
                {
                    bus.ConditionOf();
                    bus.Drive(distance);
                }
            }
            Console.WriteLine($"Car: {car.Fuel:F2}");
            Console.WriteLine($"Truck: {truck.Fuel:F2}");
            Console.WriteLine($"Bus: {bus.Fuel:F2}");
        }
コード例 #2
0
        private static void RefuelCommand(string[] commandParts)

        {
            string vehicle = commandParts[1];

            switch (vehicle)

            {
            case "Car":

                car.Refuel(double.Parse(commandParts[2]));

                break;

            case "Truck":

                truck.Refuel(double.Parse(commandParts[2]));

                break;

            case "Bus":

                bus.Refuel(double.Parse(commandParts[2]));

                break;
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: Persiyan93/C--homework
        static void Main(string[] args)
        {
            string[] carTokens    = Console.ReadLine().Split();
            double   fuelConsum   = double.Parse(carTokens[2]);
            double   fuelQuantity = double.Parse(carTokens[1]);
            Car      car          = new Car(carTokens[1], carTokens[2], carTokens[3]);

            string[] truckTokens = Console.ReadLine().Split();
            Truck    truck       = new Truck(truckTokens[1], truckTokens[2], truckTokens[3]);

            string[] busTokens       = Console.ReadLine().Split();
            Bus      bus             = new Bus(busTokens[1], busTokens[2], busTokens[3]);
            int      numberOfComands = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfComands; i++)
            {
                string[] comand = Console.ReadLine().Split();
                if (comand[0] == "Drive")
                {
                    double distance = double.Parse(comand[2]);
                    if (comand[1] == "Car")
                    {
                        car.Drive(distance);
                    }
                    else if (comand[1] == "Truck")
                    {
                        truck.Drive(distance);
                    }
                    else if (comand[1] == "Bus")
                    {
                        bus.DrivewithPassenger(distance);
                    }
                }
                else if (comand[0] == "Refuel")
                {
                    double quantity = double.Parse(comand[2]);
                    if (comand[1] == "Car")
                    {
                        car.Refuel(quantity);
                    }
                    else if (comand[1] == "Truck")
                    {
                        truck.Refuel(quantity);
                    }
                    else if (comand[1] == "Bus")
                    {
                        bus.Refuel(quantity);
                    }
                }
                else if (comand[0] == "DriveEmpty")
                {
                    bus.DrivewithPassenger(double.Parse(comand[2]));
                }
            }
            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: julyvz/SoftUni-Repo
        static void Main(string[] args)
        {
            string[] tokens = Console.ReadLine().Split();
            Car      car    = new Car(double.Parse(tokens[1]), double.Parse(tokens[2]), double.Parse(tokens[3]));

            tokens = Console.ReadLine().Split();
            Truck truck = new Truck(double.Parse(tokens[1]), double.Parse(tokens[2]), double.Parse(tokens[3]));

            tokens = Console.ReadLine().Split();
            Bus bus = new Bus(double.Parse(tokens[1]), double.Parse(tokens[2]), double.Parse(tokens[3]));

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

            for (int i = 0; i < n; i++)
            {
                tokens = Console.ReadLine().Split();
                if (tokens[0] == "Drive")
                {
                    if (tokens[1] == "Car")
                    {
                        Console.WriteLine(car.Drive(double.Parse(tokens[2])));
                    }
                    else if (tokens[1] == "Truck")
                    {
                        Console.WriteLine(truck.Drive(double.Parse(tokens[2])));
                    }
                    else
                    {
                        Console.WriteLine(bus.Drive(double.Parse(tokens[2])));
                    }
                }
                else if (tokens[0] == "Refuel")
                {
                    if (tokens[1] == "Car")
                    {
                        car.Refuel(double.Parse(tokens[2]));
                    }
                    else if (tokens[1] == "Truck")
                    {
                        truck.Refuel(double.Parse(tokens[2]));
                    }
                    else
                    {
                        bus.Refuel(double.Parse(tokens[2]));
                    }
                }
                else // DriveEmpty
                {
                    Console.WriteLine(bus.DriveEmpty(double.Parse(tokens[2])));
                }
            }

            Console.WriteLine($"Car: {car.FuelQuantity:F2}");
            Console.WriteLine($"Truck: {truck.FuelQuantity:F2}");
            Console.WriteLine($"Bus: {bus.FuelQuantity:F2}");
        }
コード例 #5
0
        static void Main(string[] args)
        {
            string[] vechicleData = Console.ReadLine().Split();
            Car      car          = new Car(double.Parse(vechicleData[1]), double.Parse(vechicleData[2]), double.Parse(vechicleData[3]));

            vechicleData = Console.ReadLine().Split();
            Truck truck = new Truck(double.Parse(vechicleData[1]), double.Parse(vechicleData[2]), double.Parse(vechicleData[3]));

            vechicleData = Console.ReadLine().Split();
            Bus bus = new Bus(double.Parse(vechicleData[1]), double.Parse(vechicleData[2]), double.Parse(vechicleData[3]));

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

            for (int i = 0; i < n; i++)
            {
                string[] input = Console.ReadLine().Split();
                if (input[0] == "Drive")
                {
                    if (input[1] == nameof(Car))
                    {
                        car.Drive(double.Parse(input[2]));
                    }
                    else if (input[1] == nameof(Truck))
                    {
                        truck.Drive(double.Parse(input[2]));
                    }
                    else if (input[1] == nameof(Bus))
                    {
                        bus.Drive(double.Parse(input[2]));
                    }
                }
                else if (input[0] == "Refuel")
                {
                    if (input[1] == nameof(Car))
                    {
                        car.Refuel(double.Parse(input[2]));
                    }
                    else if (input[1] == nameof(Truck))
                    {
                        truck.Refuel(double.Parse(input[2]));
                    }
                    else if (input[1] == nameof(Bus))
                    {
                        bus.Refuel(double.Parse(input[2]));
                    }
                }
                else if (input[0] == "DriveEmpty" && input[1] == nameof(Bus))
                {
                    bus.DriveEmpty(double.Parse(input[2]));
                }
            }

            Console.WriteLine($"Car: {car.FuelQuantity:F2}");
            Console.WriteLine($"Truck: {truck.FuelQuantity:F2}");
            Console.WriteLine($"Bus: {bus.FuelQuantity:F2}");
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: finetii/CS-OOPBasics
        private static void ParseCommand(string[] command, Car car, Bus bus, Truck truck)
        {
            string res = "Unknown command";

            switch (command[0])
            {
            case "Drive":
            {
                double.TryParse(command[2], out double distance);
                res = Drive(command[1], distance, car, bus, truck);
                Console.WriteLine(res);
            }
            break;

            case "DriveEmpty":
            {
                double.TryParse(command[2], out double distance);
                switch (command[1])
                {
                case "Bus": res = bus.DriveEmpty(distance); break;

                default: res = "Only bus can be drivven empty."; break;
                }
                Console.WriteLine(res);
            }
            break;

            case "Refuel":
            {
                double.TryParse(command[2], out double liters);
                switch (command[1])
                {
                case "Car": res = car.Refuel(liters); break;

                case "Truck": res = truck.Refuel(liters); break;

                case "Bus": res = bus.Refuel(liters); break;

                default: res = "Unknown vehicle"; break;
                }
                if (res != "")
                {
                    Console.WriteLine(res);
                }
            }
            break;

            default: res = "unknown command"; break;
            }
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: d1ma1/CSharp-OOP-Advanced
        public static void Main(string[] args)
        {
            var     line = Console.ReadLine().Split();
            Vehicle car  = new Car(double.Parse(line[1]), double.Parse(line[2]), int.Parse(line[3]));

            var     line2 = Console.ReadLine().Split();
            Vehicle truck = new Truck(double.Parse(line2[1]), double.Parse(line2[2]), int.Parse(line2[3]));

            var     line3 = Console.ReadLine().Split();
            Vehicle bus   = new Bus(double.Parse(line3[1]), double.Parse(line3[2]), int.Parse(line3[3]));

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

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

                if (input[0] == "Drive" && input[1] == "Car")
                {
                    car.Travel(double.Parse(input[2]), "Car");
                }
                if (input[0] == "Refuel" && input[1] == "Car")
                {
                    car.Refuel(double.Parse(input[2]));
                }
                if (input[0] == "Drive" && input[1] == "Truck")
                {
                    truck.Travel(double.Parse(input[2]), "Truck");
                }
                if (input[0] == "Refuel" && input[1] == "Truck")
                {
                    truck.Refuel(double.Parse(input[2]));
                }
                if (input[0] == "Drive" && input[1] == "Bus")
                {
                    bus.TravelNotEmpty(double.Parse(input[2]), "Bus");
                }
                if (input[0] == "Refuel" && input[1] == "Bus")
                {
                    bus.Refuel(double.Parse(input[2]));
                }
                if (input[0] == "DriveEmpty" && input[1] == "Bus")
                {
                    bus.Travel(double.Parse(input[2]), "Bus");
                }
            }
            Console.WriteLine($"Car: {car.FuelQuant:F2}");
            Console.WriteLine($"Truck: {truck.FuelQuant:F2}");
            Console.WriteLine($"Bus: {bus.FuelQuant:F2}");
        }
コード例 #8
0
        private static void DoCommands(IVehicle car, IVehicle truck, IVehicle bus)
        {
            ICollection <string> parts = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries);
            double litres = double.Parse(parts.ElementAt(2));

            switch (parts.ElementAt(1))
            {
            case "Car":
                if (parts.ElementAt(0) == "Drive")
                {
                    car.Drive(litres);
                }
                else
                {
                    car.Refuel(litres);
                }
                break;

            case "Truck":
                if (parts.ElementAt(0) == "Drive")
                {
                    truck.Drive(litres);
                }
                else
                {
                    truck.Refuel(litres);
                }
                break;

            case "Bus":
                Bus current = bus as Bus;
                if (parts.ElementAt(0) == "Drive")
                {
                    current?.Drive(litres);
                }
                else if (parts.ElementAt(0) == "DriveEmpty")
                {
                    current?.DriveEmpty(litres);
                }
                else
                {
                    current?.Refuel(litres);
                }
                break;

            default:
                break;
            }
        }
コード例 #9
0
ファイル: StartUp.cs プロジェクト: edonchev/C-OOP
        private static void ExecuteAction(Car car, Truck truck, Bus bus, string action, string vehicleType, double argument)
        {
            switch (action)
            {
            case "Drive":
                if (vehicleType == "Car")
                {
                    Console.WriteLine(car.Drive(argument));
                }
                else if (vehicleType == "Truck")
                {
                    Console.WriteLine(truck.Drive(argument));
                }
                else if (vehicleType == "Bus")
                {
                    Console.WriteLine(bus.Drive(argument, Bus.increasedFuelConsumption));
                }
                break;

            case "DriveEmpty":
                if (vehicleType == "Bus")
                {
                    Console.WriteLine(bus.Drive(argument));
                }
                break;

            case "Refuel":
                if (argument <= 0)
                {
                    Console.WriteLine("Fuel must be a positive number");
                }
                else
                {
                    if (vehicleType == "Car")
                    {
                        car.Refuel(argument);
                    }
                    else if (vehicleType == "Truck")
                    {
                        truck.Refuel(argument);
                    }
                    else if (vehicleType == "Bus")
                    {
                        bus.Refuel(argument);
                    }
                }
                break;
            }
        }
コード例 #10
0
 public static void ChekVenichke(string veniChletype, string operation, double num, Car car, Truck truck, Bus bus)
 {
     try
     {
         if (veniChletype == "Car")
         {
             if (operation == "Drive")
             {
                 Console.WriteLine(car.Drive(num));
             }
             else
             {
                 car.Refuel(num);
             }
         }
         else if (veniChletype == "Truck")
         {
             if (operation == "Drive")
             {
                 Console.WriteLine(truck.Drive(num));
             }
             else
             {
                 truck.Refuel(num);
             }
         }
         else if (veniChletype == "Bus")
         {
             if (operation == "Drive")
             {
                 Console.WriteLine(bus.Drive(num));
             }
             else if (operation == "DriveEmpty")
             {
                 Console.WriteLine(bus.DriveEmpty(num));
             }
             else
             {
                 bus.Refuel(num);
             }
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
コード例 #11
0
        public static void Main(string[] args)
        {
            string[] carInfo = Console.ReadLine().Split();

            double fuelQuantity    = double.Parse(carInfo[1]);
            double fuelConsumption = double.Parse(carInfo[2]);
            double tankCapacityCar = double.Parse(carInfo[3]);

            Car car = new Car(fuelQuantity, fuelConsumption, tankCapacityCar);

            string[] truckInfo = Console.ReadLine().Split();

            double fuelQuantityTruck    = double.Parse(truckInfo[1]);
            double fuelConsumptionTruck = double.Parse(truckInfo[2]);
            double tankCapacityTruck    = double.Parse(truckInfo[3]);

            Truck truck = new Truck(fuelQuantityTruck, fuelConsumptionTruck, tankCapacityTruck);

            string[] busInfo = Console.ReadLine().Split();

            double fuelQuantityBus    = double.Parse(busInfo[1]);
            double fuelConsumptionBus = double.Parse(busInfo[2]);
            double tankCapacityBus    = double.Parse(busInfo[3]);

            Bus bus = new Bus(fuelQuantityBus, fuelConsumptionBus, tankCapacityBus);

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

            for (int i = 0; i < n; i++)
            {
                string[] input   = Console.ReadLine().Split();
                string   cmd     = input[0];
                string   vehicle = input[1];

                try
                {
                    if (cmd == "Drive" || cmd == "DriveEmpty")
                    {
                        double distance = double.Parse(input[2]);

                        if (vehicle == "Car")
                        {
                            Console.WriteLine(car.Drive(distance));
                        }

                        else if (vehicle == "Truck")
                        {
                            Console.WriteLine(truck.Drive(distance));
                        }

                        else if (vehicle == "Bus")
                        {
                            if (cmd == "DriveEmpty")
                            {
                                bus.IsConditionerOn = false;
                            }

                            else
                            {
                                bus.IsConditionerOn = true;
                            }

                            Console.WriteLine(bus.Drive(distance));
                        }
                    }

                    else if (cmd == "Refuel")
                    {
                        double liters = double.Parse(input[2]);

                        if (vehicle == "Car")
                        {
                            car.Refuel(liters);
                        }

                        else if (vehicle == "Truck")
                        {
                            truck.Refuel(liters);
                        }

                        else if (vehicle == "Bus")
                        {
                            bus.Refuel(liters);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            Console.WriteLine($"Car: {car.FuelQuantity:f2}");
            Console.WriteLine($"Truck: {truck.FuelQuantity:f2}");
            Console.WriteLine($"Bus: {bus.FuelQuantity:f2}");
        }
コード例 #12
0
        static void Main(string[] args)
        {
            string[] carInput   = Console.ReadLine().Split();
            string[] truckInput = Console.ReadLine().Split();
            string[] busInput   = Console.ReadLine().Split();

            double carFuelQuantity = double.Parse(carInput[1]);
            double carPerKm        = double.Parse(carInput[2]);
            double carTank         = double.Parse(carInput[3]);

            double truckFuelQuantity = double.Parse(truckInput[1]);
            double truckPerKm        = double.Parse(truckInput[2]);
            double truckTank         = double.Parse(truckInput[3]);

            double busFuelQuantity = double.Parse(busInput[1]);
            double busPerKm        = double.Parse(busInput[2]);
            double busTank         = double.Parse(busInput[3]);


            int     n     = int.Parse(Console.ReadLine());
            Vehicle car   = new Car(carFuelQuantity, carPerKm, carTank, 0.9);
            Vehicle truck = new Truck(truckFuelQuantity, truckPerKm, truckTank, 1.6);
            Vehicle bus   = new Bus(busFuelQuantity, busPerKm, busTank, 1.4);


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

                string command      = vehicleCommand[0];
                string vehicleType  = vehicleCommand[1];
                double commandParam = double.Parse(vehicleCommand[2]);

                switch (command)
                {
                case "Drive":
                    if (vehicleType == "Car")
                    {
                        car.Drive(commandParam);
                    }
                    else if (vehicleType == "Truck")
                    {
                        truck.Drive(commandParam);
                    }
                    else if (vehicleType == "Bus")
                    {
                        bus.Drive(commandParam);
                    }
                    break;

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

                case "DriveEmpty":
                    bus.Drive(commandParam);
                    break;
                }
            }

            Console.WriteLine($"Car: {car.FuelQuantity:f2}");
            Console.WriteLine($"Truck: {truck.FuelQuantity:f2}");
            Console.WriteLine($"Bus: {bus.FuelQuantity:f2}");
        }
コード例 #13
0
        public static void Main(string[] args)
        {
            string[] carTokens      = Console.ReadLine().Split();
            double   fuelQuantity   = double.Parse(carTokens[1]);
            double   fuelConsumpion = double.Parse(carTokens[2]);
            double   tankCapacity   = double.Parse(carTokens[3]);

            Car car = new Car(fuelQuantity, fuelConsumpion, tankCapacity);

            string[] truckTokens = Console.ReadLine().Split();
            fuelQuantity   = double.Parse(truckTokens[1]);
            fuelConsumpion = double.Parse(truckTokens[2]);
            tankCapacity   = double.Parse(truckTokens[3]);

            Truck truck = new Truck(fuelQuantity, fuelConsumpion, tankCapacity);

            string[] busTokens = Console.ReadLine().Split();
            fuelQuantity   = double.Parse(busTokens[1]);
            fuelConsumpion = double.Parse(busTokens[2]);
            tankCapacity   = double.Parse(busTokens[3]);

            Bus bus = new Bus(fuelQuantity, fuelConsumpion, tankCapacity);


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

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

                string typeOfCommand = command[0];
                string typeOfVehilce = command[1];

                if (typeOfCommand == "Drive")
                {
                    double distance = double.Parse(command[2]);

                    if (typeOfVehilce == "Car")
                    {
                        Console.WriteLine(car.Drive(distance));
                    }
                    else if (typeOfVehilce == "Truck")
                    {
                        Console.WriteLine(truck.Drive(distance));
                    }
                    else
                    {
                        Console.WriteLine(bus.Drive(distance));
                    }
                }
                else if (typeOfCommand == "Refuel")
                {
                    try
                    {
                        double fuelAmount = double.Parse(command[2]);

                        if (typeOfVehilce == "Car")
                        {
                            car.Refuel(fuelAmount);
                        }
                        else if (typeOfVehilce == "Truck")
                        {
                            truck.Refuel(fuelAmount);
                        }
                        else
                        {
                            bus.Refuel(fuelAmount);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
                else
                {
                    double distance = double.Parse(command[2]);
                    Console.WriteLine(bus.DriveEmpty(distance));
                }
            }

            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
コード例 #14
0
        static void Main()
        {
            string[] carData   = Console.ReadLine().Split();
            string[] truckData = Console.ReadLine().Split();
            string[] busData   = Console.ReadLine().Split();

            double carFuelQuantity    = double.Parse(carData[1]);
            double carFuelConsumption = double.Parse(carData[2]);
            double carTankCapacity    = double.Parse(carData[3]);

            double truckFuelQuantity    = double.Parse(truckData[1]);
            double truckFuelConsumption = double.Parse(truckData[2]);
            double truckTankCapacity    = double.Parse(truckData[3]);

            double busFuelQuantity     = double.Parse(busData[1]);
            double busFuelConsumption  = double.Parse(busData[2]);
            double busFuelTankCapacity = double.Parse(busData[3]);


            Car   car   = new Car(carFuelQuantity, carFuelConsumption, carTankCapacity);
            Truck truck = new Truck(truckFuelQuantity, truckFuelConsumption, truckTankCapacity);
            Bus   bus   = new Bus(busFuelQuantity, busFuelConsumption, busFuelTankCapacity);

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

            for (int i = 0; i < countLines; i++)
            {
                string[] items       = Console.ReadLine().Split();
                string   command     = items[0];
                string   typeVehicle = items[1];
                double   value       = double.Parse(items[2]);

                if (typeVehicle == "Car")
                {
                    if (command == "Drive")
                    {
                        Console.WriteLine(car.Drive(value));
                    }
                    else
                    {
                        car.Refuel(value);
                    }
                }
                else if (typeVehicle == "Truck")
                {
                    if (command == "Drive")
                    {
                        Console.WriteLine(truck.Drive(value));
                    }
                    else
                    {
                        truck.Refuel(value);
                    }
                }
                else if (typeVehicle == "Bus")
                {
                    if (command == "DriveEmpty")
                    {
                        Console.WriteLine(bus.DriveEmpty(value));
                    }
                    else if (command == "Drive")
                    {
                        Console.WriteLine(bus.Drive(value));
                    }
                    else
                    {
                        bus.Refuel(value);
                    }
                }
            }

            Console.WriteLine($"Car: {Math.Round(car.FuelQuantity, 2):f2}");
            Console.WriteLine($"Truck: {Math.Round(truck.FuelQuantity, 2):f2}");
            Console.WriteLine($"Bus: {Math.Round(bus.FuelQuantity, 2):f2}");
        }
コード例 #15
0
        static void Main(string[] args)
        {
            string[] carInfo = Console.ReadLine()
                               .Split(' ', StringSplitOptions.RemoveEmptyEntries)
                               .Skip(1).ToArray();
            Vehicle car = new Car(double.Parse(carInfo[0]), double.Parse(carInfo[1]), double.Parse(carInfo[2]));

            string[] truckInfo = Console.ReadLine()
                                 .Split(' ', StringSplitOptions.RemoveEmptyEntries)
                                 .Skip(1).ToArray();
            Vehicle truck = new Truck(double.Parse(truckInfo[0]), double.Parse(truckInfo[1]), double.Parse(truckInfo[2]));

            string[] busInfo = Console.ReadLine()
                               .Split(' ', StringSplitOptions.RemoveEmptyEntries)
                               .Skip(1).ToArray();
            Vehicle bus = new Bus(double.Parse(busInfo[0]), double.Parse(busInfo[1]), double.Parse(busInfo[2]));

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

            for (int i = 0; i < amountOfCommands; i++)
            {
                string[] command = Console.ReadLine()
                                   .Split(' ', StringSplitOptions.RemoveEmptyEntries);

                if (command[1] == "Car")
                {
                    if (command[0] == "Drive")
                    {
                        car.Drive(double.Parse(command[2]), command[1]);
                    }
                    else if (command[0] == "Refuel")
                    {
                        car.Refuel(double.Parse(command[2]));
                    }
                }
                else if (command[1] == "Truck")
                {
                    if (command[0] == "Drive")
                    {
                        truck.Drive(double.Parse(command[2]), command[1]);
                    }
                    else if (command[0] == "Refuel")
                    {
                        truck.Refuel(double.Parse(command[2]));
                    }
                }
                else if (command[1] == "Bus")
                {
                    if (command[0] == "Drive" || command[0] == "DriveEmpty")
                    {
                        bus.Drive(double.Parse(command[2]), command[0]);
                    }
                    else if (command[0] == "Refuel")
                    {
                        bus.Refuel(double.Parse(command[2]));
                    }
                }
            }

            Console.WriteLine($"Car: {car.FuelQuantity:f2}");
            Console.WriteLine($"Truck: {truck.FuelQuantity:f2}");
            Console.WriteLine($"Bus: {bus.FuelQuantity:f2}");
        }
コード例 #16
0
        public static void Main(string[] args)
        {
            string[] carInfo            = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);
            double   carFuelconsumption = double.Parse(carInfo[1]);
            double   carLitersPerKm     = double.Parse(carInfo[2]);
            int      carCapacity        = int.Parse(carInfo[3]);

            Car car = new Car(carFuelconsumption, carLitersPerKm, carCapacity);

            if (carCapacity > carFuelconsumption)
            {
                car.FuelConsumption = 0;
            }

            string[] truckInfo            = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);
            double   truckFuelconsumption = double.Parse(truckInfo[1]);
            double   truckLitersPerKm     = double.Parse(truckInfo[2]);
            int      truckCapacity        = int.Parse(truckInfo[3]);

            Truck truck = new Truck(truckFuelconsumption, truckLitersPerKm, truckCapacity);

            if (truckCapacity > truckFuelconsumption)
            {
                truck.FuelConsumption = 0;
            }

            string[] busInfo            = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);
            double   busFuelconsumption = double.Parse(busInfo[1]);
            double   busLitersPerKm     = double.Parse(busInfo[2]);
            int      busCapacity        = int.Parse(busInfo[3]);

            Bus bus = new Bus(busFuelconsumption, busLitersPerKm, busCapacity);

            if (busCapacity > busFuelconsumption)
            {
                bus.FuelConsumption = 0;
            }

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

            for (int i = 0; i < commandsCount; i++)
            {
                string[] input   = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);
                string   command = input[0];
                string   vehicle = input[1];
                double   amount  = double.Parse(input[2]);

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

            Console.WriteLine($"{nameof(Car)}: {car.FuelQuantity:f2}");
            Console.WriteLine($"{nameof(Truck)}: {truck.FuelQuantity:f2}");
            Console.WriteLine($"{nameof(Bus)}: {bus.FuelQuantity:f2}");
        }
コード例 #17
0
ファイル: Engine.cs プロジェクト: Yusmen/C-Sharp-OOP-Basics
        public void Run()
        {
            string[] carInfo   = Console.ReadLine().Split();
            string[] truckInfo = Console.ReadLine().Split();
            string[] busInfo   = Console.ReadLine().Split();

            double carFuelConsumption = double.Parse(carInfo[2]);
            double carFuelQuantity    = double.Parse(carInfo[1]);
            int    carTankCapacity    = int.Parse(carInfo[3]);

            double truckFuelConsumption = double.Parse(truckInfo[2]);
            double truckFuelQuantity    = double.Parse(truckInfo[1]);
            int    truckTankCapacity    = int.Parse(truckInfo[3]);
            double busFuelConsumption   = double.Parse(busInfo[2]);
            double busFuelQuantity      = double.Parse(busInfo[1]);
            int    busTankCapacity      = int.Parse(busInfo[3]);

            Vehicle car   = new Car(carFuelQuantity, carFuelConsumption, carTankCapacity);
            Vehicle truck = new Truck(truckFuelQuantity, truckFuelConsumption, truckTankCapacity);
            Bus     bus   = new Bus(busFuelQuantity, busFuelConsumption, busTankCapacity);

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

            for (int i = 0; i < n; i++)
            {
                string[] input   = Console.ReadLine().Split();
                string   command = input[0];
                string   vehicle = input[1];
                try
                {
                    if (command == "Drive")
                    {
                        if (vehicle == "Car")
                        {
                            car.Drive(double.Parse(input[2]));
                        }
                        else if (vehicle == "Truck")
                        {
                            truck.Drive(double.Parse(input[2]));
                        }
                        else if (vehicle == "Bus")
                        {
                            bus.DriveWithPeople(double.Parse(input[2]));
                        }
                    }
                    else if (command == "Refuel")
                    {
                        if (vehicle == "Car")
                        {
                            car.Refuel(double.Parse(input[2]));
                        }
                        else if (vehicle == "Truck")
                        {
                            truck.Refuel(double.Parse(input[2]));
                        }
                        else if (vehicle == "Bus")
                        {
                            bus.Refuel(double.Parse(input[2]));
                        }
                    }
                    else if (command == "DriveEmpty")
                    {
                        bus.Drive(double.Parse(input[2]));
                    }
                }
                catch (ArgumentException ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
コード例 #18
0
ファイル: Engine.cs プロジェクト: naskomsm/CSharp-OOP-2019
        public void Run(List <Vehicle> vehicles)
        {
            int n = int.Parse(Console.ReadLine());

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

                string command = commandArgs[0];
                string vehicle = commandArgs[1];

                if (command == "Drive")
                {
                    double distance = double.Parse(commandArgs[2]);

                    if (vehicle == "Car")
                    {
                        Car car = (Car)vehicles.FirstOrDefault(x => x.GetType().Name == nameof(Car));
                        car.Drive(distance);
                    }
                    else if (vehicle == "Truck")
                    {
                        Truck truck = (Truck)vehicles.FirstOrDefault(x => x.GetType().Name == nameof(Truck));
                        Console.WriteLine(truck.Drive(distance));
                    }
                    else if (vehicle == "Bus")
                    {
                        Bus bus = (Bus)vehicles.FirstOrDefault(x => x.GetType().Name == nameof(Bus));
                        Console.WriteLine(bus.Drive(distance));
                    }
                }
                else if (command == "DriveEmpty")
                {
                    Bus    bus      = (Bus)vehicles.FirstOrDefault(x => x.GetType().Name == nameof(Bus));
                    double distance = double.Parse(commandArgs[2]);
                    Console.WriteLine(bus.DriveEmpty(distance));
                }
                else if (command == "Refuel")
                {
                    try
                    {
                        if (vehicle == "Car")
                        {
                            Car    car  = (Car)vehicles.FirstOrDefault(x => x.GetType().Name == nameof(Car));
                            double fuel = double.Parse(commandArgs[2]);
                            car.Refuel(fuel);
                        }
                        else if (vehicle == "Truck")
                        {
                            Truck  truck = (Truck)vehicles.FirstOrDefault(x => x.GetType().Name == nameof(Truck));
                            double fuel  = double.Parse(commandArgs[2]);
                            truck.Refuel(fuel);
                        }
                        else if (vehicle == "Bus")
                        {
                            Bus    bus  = (Bus)vehicles.FirstOrDefault(x => x.GetType().Name == nameof(Bus));
                            double fuel = double.Parse(commandArgs[2]);
                            bus.Refuel(fuel);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }


            foreach (var vehice in vehicles)
            {
                Console.WriteLine(vehice);
            }
        }
コード例 #19
0
        static void Main(string[] args)
        {
            string[] carTokens   = Console.ReadLine().Split();
            string[] truckTokens = Console.ReadLine().Split();
            string[] busTokens   = Console.ReadLine().Split();

            Vehicle car = new Car
                              (double.Parse(carTokens[1]), double.Parse(carTokens[2]), double.Parse(carTokens[3]));

            Vehicle truck = new Truck
                                (double.Parse(truckTokens[1]), double.Parse(truckTokens[2]), double.Parse(truckTokens[3]));

            Vehicle bus = new Bus
                              (double.Parse(busTokens[1]), double.Parse(busTokens[2]), double.Parse(busTokens[3]));

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

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

                string action  = tokens[0];
                string vehicle = tokens[1];
                double value   = double.Parse(tokens[2]);

                if (action == "Drive")
                {
                    if (vehicle == "Car")
                    {
                        car.Drive(value);
                    }
                    else if (vehicle == "Bus")
                    {
                        bus.DrivingWithPeople(value);
                    }
                    else
                    {
                        truck.Drive(value);
                    }
                }
                else if (action == "Refuel")
                {
                    if (vehicle == "Car")
                    {
                        car.Refuel(value);
                    }
                    else if (vehicle == "Bus")
                    {
                        bus.Refuel(value);
                    }
                    else
                    {
                        truck.Refuel(value);
                    }
                }
                else
                {
                    bus.DrivingWithoutPeople(value);
                }
            }

            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
コード例 #20
0
ファイル: Program.cs プロジェクト: stormageddon94/OOP
        static void Main(string[] args)
        {
            var carInfo         = Console.ReadLine().Split();
            var fuelQuantity    = double.Parse(carInfo[1]);
            var fuelConsumption = double.Parse(carInfo[2]);
            var tankCapacity    = double.Parse(carInfo[3]);
            var car             = new Car(tankCapacity, fuelQuantity, fuelConsumption);

            var truckInfo = Console.ReadLine().Split();

            fuelQuantity    = double.Parse(truckInfo[1]);
            fuelConsumption = double.Parse(truckInfo[2]);
            tankCapacity    = double.Parse(truckInfo[3]);
            var truck = new Truck(tankCapacity, fuelQuantity, fuelConsumption);

            var busInfo = Console.ReadLine().Split();

            fuelQuantity    = double.Parse(busInfo[1]);
            fuelConsumption = double.Parse(busInfo[2]);
            tankCapacity    = double.Parse(busInfo[3]);
            var bus = new Bus(tankCapacity, fuelQuantity, fuelConsumption);

            var count = int.Parse(Console.ReadLine());

            for (int i = 0; i < count; i++)
            {
                var commandData = Console.ReadLine().Split();
                var command     = commandData[0];
                var vehicleType = commandData[1];
                if (command == "Drive")
                {
                    var distance = double.Parse(commandData[2]);
                    if (vehicleType == "Car")
                    {
                        Console.WriteLine(car.Drive(0.9, distance, vehicleType));
                    }
                    else if (vehicleType == "Truck")
                    {
                        Console.WriteLine(truck.Drive(1.6, distance, vehicleType));
                    }
                    else
                    {
                        Console.WriteLine(bus.Drive(1.4, distance, vehicleType));
                    }
                }
                else if (command == "DriveEmpty")
                {
                    var distance = double.Parse(commandData[2]);
                    Console.WriteLine(bus.Drive(0.0, distance, vehicleType));
                }
                else
                {
                    try
                    {
                        var fuelToAdd = double.Parse(commandData[2]);
                        if (vehicleType == "Car")
                        {
                            try
                            {
                                car.Refuel(fuelToAdd);
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message);
                            }
                        }
                        else if (vehicleType == "Truck")
                        {
                            try
                            {
                                truck.Refuel(fuelToAdd);
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message);
                            }
                        }
                        else
                        {
                            try
                            {
                                bus.Refuel(fuelToAdd);
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }

            Console.WriteLine(car.ToString());
            Console.WriteLine(truck.ToString());
            Console.WriteLine(bus.ToString());
        }
コード例 #21
0
        static void Main(string[] args)
        {
            var carInfo = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);
            var car     = new Car(double.Parse(carInfo[1]), double.Parse(carInfo[2]), double.Parse(carInfo[3]));

            var truckInfo = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);
            var truck     = new Truck(double.Parse(truckInfo[1]), double.Parse(truckInfo[2]), double.Parse(truckInfo[3]));

            var busInfo = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);
            var bus     = new Bus(double.Parse(busInfo[1]), double.Parse(busInfo[2]), double.Parse(busInfo[3]));

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

            for (int i = 0; i < n; i++)
            {
                var command = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries);

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

                    case "Truck":
                        truck.Drive(double.Parse(command[2]));
                        break;

                    case "Bus":
                        bus.Drive(double.Parse(command[2]));
                        break;
                    }
                }
                else if (command[0] == "Refuel")
                {
                    if (double.Parse(command[2]) <= 0)
                    {
                        Console.WriteLine("Fuel must be a positive number");
                    }
                    else
                    {
                        switch (command[1])
                        {
                        case "Car":
                            car.Refuel(double.Parse(command[2]));
                            break;

                        case "Truck":
                            truck.Refuel(double.Parse(command[2]));
                            break;

                        case "Bus":
                            bus.Refuel(double.Parse(command[2]));
                            break;
                        }
                    }
                }
                else if (command[0] == "DriveEmpty")
                {
                    bus.DriveEmpty(double.Parse(command[2]));
                }
            }

            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
コード例 #22
0
        static void Main()
        {
            var carInput = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries);
            var car      = new Car(double.Parse(carInput[1]), double.Parse(carInput[2]), double.Parse(carInput[3]));

            var truckInput = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries);
            var truck      = new Truck(double.Parse(truckInput[1]), double.Parse(truckInput[2]), double.Parse(truckInput[3]));

            var busInput = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries);
            var bus      = new Bus(double.Parse(busInput[1]), double.Parse(busInput[2]), double.Parse(busInput[3]));

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

            for (var i = 0; i < n; i++)
            {
                var commandLine = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries);
                var command     = commandLine[0];
                var vehicle     = commandLine[1];
                var parameter   = double.Parse(commandLine[2]);
                try
                {
                    switch (command)
                    {
                    case "Drive":
                        switch (vehicle)
                        {
                        case "Car":
                            Console.WriteLine(car.Drive(parameter));
                            break;

                        case "Truck":
                            Console.WriteLine(truck.Drive(parameter));
                            break;

                        case "Bus":
                            Console.WriteLine(bus.Drive(parameter));
                            break;
                        }
                        break;

                    case "DriveEmpty":
                        bus.SwitchConditionerOff();
                        Console.WriteLine(bus.Drive(parameter));
                        bus.SwitchConditionerOn();
                        break;

                    case "Refuel":
                        switch (vehicle)
                        {
                        case "Car":
                            car.Refuel(parameter);
                            break;

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

                        case "Bus":
                            bus.Refuel(parameter);
                            break;
                        }
                        break;
                    }
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            Console.WriteLine(car.Report());
            Console.WriteLine(truck.Report());
            Console.WriteLine(bus.Report());
        }
コード例 #23
0
        static void Main(string[] args)
        {
            string[] carArg = Console.ReadLine().Split();
            Car      car    = new Car(double.Parse(carArg[1]), double.Parse(carArg[2]), double.Parse(carArg[3]));

            string[] truckArg = Console.ReadLine().Split();
            Truck    truck    = new Truck(double.Parse(truckArg[1]), double.Parse(truckArg[2]), double.Parse(truckArg[3]));

            string[] busArg = Console.ReadLine().Split();
            Bus      bus    = new Bus(double.Parse(busArg[1]), double.Parse(busArg[2]), double.Parse(busArg[3]));

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

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

                double methodArg = double.Parse(commandArg[2]);
                if (commandArg[0] == "Drive")
                {
                    if (commandArg[1] == "Car")
                    {
                        Console.WriteLine(car.Drive(methodArg));
                    }
                    else if (commandArg[1] == "Truck")
                    {
                        Console.WriteLine(truck.Drive(methodArg));
                    }
                    else if (commandArg[1] == "Bus")
                    {
                        Console.WriteLine(bus.Drive(methodArg));
                    }
                }
                else if (commandArg[0] == "Refuel")
                {
                    try
                    {
                        if (commandArg[1] == "Car")
                        {
                            car.Refuel(methodArg);
                        }
                        else if (commandArg[1] == "Truck")
                        {
                            truck.Refuel(methodArg);
                        }
                        else if (commandArg[1] == "Bus")
                        {
                            bus.Refuel(methodArg);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        continue;
                    }
                }
                else if (commandArg[0] == "DriveEmpty" && commandArg[1] == "Bus")
                {
                    bus.TurOffAirConditioner();
                    Console.WriteLine(bus.Drive(methodArg));
                    bus.TurnOnAirConditioner();
                }
            }

            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
コード例 #24
0
ファイル: Program.cs プロジェクト: Bu7eRs/C--Advanced
        static void Main(string[] args)
        {
            var carData = GetData(Console.ReadLine());
            Car car     = new Car(double.Parse(carData[1]), double.Parse(carData[2]), double.Parse(carData[3]));

            var   truckData = GetData(Console.ReadLine());
            Truck truck     = new Truck(double.Parse(truckData[1]), double.Parse(truckData[2]), double.Parse(truckData[3]));

            var BusData = GetData(Console.ReadLine());
            Bus bus     = new Bus(double.Parse(BusData[1]), double.Parse(BusData[2]), double.Parse(BusData[3]));

            bool isEmpty = false;

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

            for (int i = 0; i < n; i++)
            {
                var data        = GetData(Console.ReadLine());
                var currMode    = data[0].ToLower();
                var currVehicle = data[1].ToLower();
                var value       = double.Parse(data[2]);
                if (currMode == "drive" || currMode == "driveempty")
                {
                    if (currVehicle == "car")
                    {
                        car.Drive(value);
                    }
                    else if (currVehicle == "truck")
                    {
                        truck.Drive(value);
                    }
                    else if (currVehicle == "bus")
                    {
                        if (currMode == "driveempty")
                        {
                            isEmpty = true;
                        }
                        bus.Drive(isEmpty, value);
                    }
                }
                else if (currMode == "refuel")
                {
                    if (currVehicle == "car")
                    {
                        car.Refuel(value);
                    }
                    else if (currVehicle == "truck")
                    {
                        truck.Refuel(value);
                    }
                    else if (currVehicle == "bus")
                    {
                        bus.Refuel(value);
                    }
                }
            }

            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
コード例 #25
0
        static void Main(string[] args)
        {
            string[] carArgs   = Parser();
            string[] truckArgs = Parser();
            string[] busArgs   = Parser();

            Vehicle car   = new Car(double.Parse(carArgs[1]), double.Parse(carArgs[2]), double.Parse(carArgs[3]));
            Vehicle truck = new Truck(double.Parse(truckArgs[1]), double.Parse(truckArgs[2]), double.Parse(truckArgs[3]));
            Bus     bus   = new Bus(double.Parse(busArgs[1]), double.Parse(busArgs[2]), double.Parse(busArgs[3]));

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

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

                    if (data[1] == "Car")
                    {
                        if (data[0] == "Drive")
                        {
                            Console.WriteLine(car.Drive(double.Parse(data[2])));
                        }
                        else
                        {
                            car.Refuel(double.Parse(data[2]));
                        }
                    }
                    else if (data[1] == "Truck")
                    {
                        if (data[0] == "Drive")
                        {
                            Console.WriteLine(truck.Drive(double.Parse(data[2])));
                        }
                        else
                        {
                            truck.Refuel(double.Parse(data[2]));
                        }
                    }
                    else if (data[1] == "Bus")
                    {
                        if (data[0] == "Drive")
                        {
                            Console.WriteLine(bus.Drive(double.Parse(data[2])));
                        }
                        else if (data[0] == "DriveEmpty")
                        {
                            Console.WriteLine(bus.DriveEmpty(double.Parse(data[2])), "Bus", double.Parse(data[2]));
                        }
                        else
                        {
                            bus.Refuel(double.Parse(data[2]));
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            Console.WriteLine($"Car: {car.FuelQuantity:f2}");
            Console.WriteLine($"Truck: {truck.FuelQuantity:f2}");
            Console.WriteLine($"Bus: {bus.FuelQuantity:f2}");
        }
コード例 #26
0
ファイル: Program.cs プロジェクト: ystoykow/Courses
        public static void Main()
        {
            string[] vehicleInfo         = Console.ReadLine().Split();
            double   vehicleFuelQuantity = double.Parse(vehicleInfo[1]);
            double   vehicleLitersPerKM  = double.Parse(vehicleInfo[2]);
            double   vehicleTankCapacity = double.Parse(vehicleInfo[3]);
            Vehicle  car = new Car(vehicleFuelQuantity, vehicleLitersPerKM, vehicleTankCapacity);

            vehicleInfo         = Console.ReadLine().Split();
            vehicleFuelQuantity = double.Parse(vehicleInfo[1]);
            vehicleLitersPerKM  = double.Parse(vehicleInfo[2]);
            vehicleTankCapacity = double.Parse(vehicleInfo[3]);
            Vehicle truck = new Truck(vehicleFuelQuantity, vehicleLitersPerKM, vehicleTankCapacity);

            vehicleInfo         = Console.ReadLine().Split();
            vehicleFuelQuantity = double.Parse(vehicleInfo[1]);
            vehicleLitersPerKM  = double.Parse(vehicleInfo[2]);
            vehicleTankCapacity = double.Parse(vehicleInfo[3]);
            Vehicle bus = new Bus(vehicleFuelQuantity, vehicleLitersPerKM, vehicleTankCapacity);

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

            for (int i = 0; i < commandsCount; i++)
            {
                string[] commands = Console.ReadLine().Split();
                if (commands[0] == "Drive")
                {
                    double distance = double.Parse(commands[2]);
                    if (commands[1] == "Car")
                    {
                        Console.WriteLine(car.Drive(distance, true));
                    }
                    else if (commands[1] == "Bus")
                    {
                        Console.WriteLine(bus.Drive(distance, true));
                    }
                    else if (commands[1] == "Truck")
                    {
                        Console.WriteLine(truck.Drive(distance, true));
                    }
                }
                else if (commands[0] == "DriveEmpty")
                {
                    double distance = double.Parse(commands[2]);
                    Console.WriteLine(bus.Drive(distance, false));
                }
                else if (commands[0] == "Refuel")
                {
                    try
                    {
                        double liters = double.Parse(commands[2]);
                        if (commands[1] == "Car")
                        {
                            car.Refuel(liters);
                        }
                        else if (commands[1] == "Truck")
                        {
                            truck.Refuel(liters);
                        }
                        else if (commands[1] == "Bus")
                        {
                            bus.Refuel(liters);
                        }
                    }
                    catch (ArgumentException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }
            }

            Console.WriteLine($"Car: {car.FuelQuantity:f2}");
            Console.WriteLine($"Truck: {truck.FuelQuantity:f2}");
            Console.WriteLine($"Bus: {bus.FuelQuantity:f2}");
        }
コード例 #27
0
        static void Main(string[] args)
        {
            string[] carArgs = Console.ReadLine().Split();
            double   carFuel = double.Parse(carArgs[1]);
            double   carLitersPerKilometer = double.Parse(carArgs[2]);
            double   carCapacity           = double.Parse(carArgs[3]);
            Car      car = new Car(carFuel, carLitersPerKilometer, carCapacity);

            string[] truckArgs = Console.ReadLine().Split();
            double   truckFuel = double.Parse(truckArgs[1]);
            double   truckLitersPerKilometer = double.Parse(truckArgs[2]);
            double   truckCapacity           = double.Parse(truckArgs[3]);
            Truck    truck = new Truck(truckFuel, truckLitersPerKilometer, truckCapacity);

            string[] busArgs     = Console.ReadLine().Split();
            double   busFuel     = double.Parse(busArgs[1]);
            double   busLiters   = double.Parse(busArgs[2]);
            double   busCapacity = double.Parse(busArgs[3]);
            Bus      bus         = new Bus(busFuel, busLiters, busCapacity);

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

            for (int i = 0; i < n; i++)
            {
                string[] inputArgs   = Console.ReadLine().Split();
                string   command     = inputArgs[0];
                string   vehicleType = inputArgs[1];
                double   measures    = double.Parse(inputArgs[2]);
                try
                {
                    if (command == "Drive")
                    {
                        if (vehicleType == "Car")
                        {
                            Console.WriteLine(car.Drive(measures));
                        }
                        else if (vehicleType == "Truck")
                        {
                            Console.WriteLine(truck.Drive(measures));
                        }
                        else if (vehicleType == "Bus")
                        {
                            Console.WriteLine(bus.Drive(measures));
                        }
                    }
                    else if (command == "Refuel")
                    {
                        if (vehicleType == "Car")
                        {
                            car.Refuel(measures);
                        }
                        else if (vehicleType == "Truck")
                        {
                            truck.Refuel(measures);
                        }
                        else if (vehicleType == "Bus")
                        {
                            bus.Refuel(measures);
                        }
                    }
                    else if (command == "DriveEmpty")
                    {
                        Console.WriteLine(bus.DriveEmpty(measures));
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
コード例 #28
0
ファイル: StartUp.cs プロジェクト: stilyssk/C-OOP
        public static void Main(string[] args)
        {
            string inputCarInformation  = Console.ReadLine();
            var    listOfCarInformation = inputCarInformation
                                          .Split(new[] { ' ' })
                                          .ToList();
            Car    car = new Car(double.Parse(listOfCarInformation[1]), double.Parse(listOfCarInformation[2]), double.Parse(listOfCarInformation[3]));
            string inputTruckInformation  = Console.ReadLine();
            var    listOfTruckInformation = inputTruckInformation
                                            .Split(new[] { ' ' })
                                            .ToList();

            Truck  truck = new Truck(double.Parse(listOfTruckInformation[1]), double.Parse(listOfTruckInformation[2]), double.Parse(listOfTruckInformation[3]));
            string inputBusInformation  = Console.ReadLine();
            var    listOfBusInformation = inputBusInformation
                                          .Split(new[] { ' ' })
                                          .ToList();
            Bus bus    = new Bus(double.Parse(listOfBusInformation[1]), double.Parse(listOfBusInformation[2]), double.Parse(listOfBusInformation[3]));
            int repeat = int.Parse(Console.ReadLine());

            for (int i = 0; i < repeat; i++)
            {
                string inputCommand   = Console.ReadLine();
                var    vehicleCommand = inputCommand
                                        .Split(new[] { ' ' })
                                        .ToList();

                switch (vehicleCommand[0])
                {
                case "Drive":
                    if (vehicleCommand[1] == "Car")
                    {
                        Console.WriteLine(car.Drive(double.Parse(vehicleCommand[2])));
                    }
                    else if (vehicleCommand[1] == "Truck")
                    {
                        Console.WriteLine(truck.Drive(double.Parse(vehicleCommand[2])));
                    }
                    else if (vehicleCommand[1] == "Bus")
                    {
                        Console.WriteLine(bus.Drive(double.Parse(vehicleCommand[2])));
                    }
                    break;

                case "Refuel":
                    if (vehicleCommand[1] == "Car")
                    {
                        try
                        {
                            car.Refuel(double.Parse(vehicleCommand[2]));
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    }
                    else if (vehicleCommand[1] == "Truck")
                    {
                        try
                        {
                            truck.Refuel(double.Parse(vehicleCommand[2]));
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    }
                    else if (vehicleCommand[1] == "Bus")
                    {
                        try
                        {
                            bus.Refuel(double.Parse(vehicleCommand[2]));
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    }
                    break;

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

                default:
                    break;
                }
            }

            Console.WriteLine($"{car:f2}");
            Console.WriteLine($"{truck:f2}");
            Console.WriteLine($"{bus:f2}");
        }
コード例 #29
0
        static void Main(string[] args)
        {
            string car = Console.ReadLine();

            string[] carInfo    = car.Split(' ').ToArray();
            Car      currentcar = new Car(double.Parse(carInfo[1]), double.Parse(carInfo[2]), double.Parse(carInfo[3]));
            string   truck      = Console.ReadLine();

            string[] truckInfo    = truck.Split(' ').ToArray();
            Truck    currentTruck = new Truck(double.Parse(truckInfo[1]), double.Parse(truckInfo[2]), double.Parse(truckInfo[3]));
            string   bus          = Console.ReadLine();

            string[] busInfo          = bus.Split(' ').ToArray();
            Bus      currentBus       = new Bus(double.Parse(busInfo[1]), double.Parse(busInfo[2]), double.Parse(busInfo[3]));
            int      numberOfCommands = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfCommands; i++)
            {
                string   command     = Console.ReadLine();
                string[] commandInfo = command.Split(' ').ToArray();
                if (commandInfo[1] == "Car")
                {
                    if (commandInfo[0] == "Drive")
                    {
                        currentcar.Drive(double.Parse(commandInfo[2]));
                    }
                    else
                    {
                        currentcar.Refuel(double.Parse(commandInfo[2]));
                    }
                }

                else if (commandInfo[1] == "Truck")
                {
                    if (commandInfo[0] == "Drive")
                    {
                        currentTruck.Drive(double.Parse(commandInfo[2]));
                    }
                    else
                    {
                        currentTruck.Refuel(double.Parse(commandInfo[2]));
                    }
                }

                else if (commandInfo[1] == "Bus")
                {
                    if (commandInfo[0] == "Drive")
                    {
                        currentBus.Drive(double.Parse(commandInfo[2]));
                    }
                    else if (commandInfo[0] == "DriveEmpty")
                    {
                        currentBus.DriveEmptyBus(double.Parse(commandInfo[2]));
                    }
                    else
                    {
                        currentBus.Refuel(double.Parse(commandInfo[2]));
                    }
                }
            }

            Console.WriteLine();
            Console.WriteLine("{0:f2}", currentcar.FuelQuantity);
            Console.WriteLine("{0:f2}", currentTruck.FuelQuantity);
            Console.WriteLine("{0:f2}", currentBus.FuelQuantity);
        }
コード例 #30
0
ファイル: StartUp.cs プロジェクト: gkristianova/Softuni
        static void Main(string[] args)
        {
            string[] carInfo   = ConsoleRead();
            string[] truckInfo = ConsoleRead();
            string[] busInfo   = ConsoleRead();

            Car   car   = CreateCar(carInfo);
            Truck truck = CreateTruck(truckInfo);
            Bus   bus   = CreateBus(busInfo);

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

            for (int i = 0; i < numberofCommands; i++)
            {
                string[] commandInfo = ConsoleRead();
                string   command     = commandInfo[0];
                double   distance    = double.Parse(commandInfo[2]);
                double   litres      = double.Parse(commandInfo[2]);
                string   type        = commandInfo[1];

                switch (command)
                {
                case "Drive":
                    switch (type)
                    {
                    case "Car":
                        car.Drive(distance);
                        break;

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

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

                case "Refuel":
                    switch (type)
                    {
                    case "Car":
                        car.Refuel(litres);
                        break;

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

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

                case "DriveEmpty":

                    bus.DriveEmpty(distance);
                    break;
                }
            }
            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }
コード例 #31
0
ファイル: StartUp.cs プロジェクト: drapperr/CSharp-OOP
        public static void Main()
        {
            string[] carInfo = Console.ReadLine()
                               .Split();
            double carFuel            = double.Parse(carInfo[1]);
            double carFuelConsumption = double.Parse(carInfo[2]);
            double carFuelCapacity    = double.Parse(carInfo[3]);
            var    car = new Car(carFuel, carFuelConsumption, carFuelCapacity);

            string[] truckInfo = Console.ReadLine()
                                 .Split();
            double truckFuel            = double.Parse(truckInfo[1]);
            double truckFuelConsumption = double.Parse(truckInfo[2]);
            double truckFuelCapacity    = double.Parse(truckInfo[3]);
            var    truck = new Truck(truckFuel, truckFuelConsumption, truckFuelCapacity);

            string[] busInfo = Console.ReadLine()
                               .Split();
            double busFuel            = double.Parse(busInfo[1]);
            double busFuelConsumption = double.Parse(busInfo[2]);
            double busFuelCapacity    = double.Parse(busInfo[3]);
            var    bus = new Bus(busFuel, busFuelConsumption, busFuelCapacity);

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

            for (int i = 0; i < n; i++)
            {
                string[] input = Console.ReadLine()
                                 .Split();
                string command = input[0];
                string type    = input[1];
                double value   = double.Parse(input[2]);

                try
                {
                    if (command == "Drive")
                    {
                        if (type == "Car")
                        {
                            car.Drive(value);
                        }
                        else if (type == "Truck")
                        {
                            truck.Drive(value);
                        }
                        else if (type == "Bus")
                        {
                            bus.Drive(value);
                        }
                    }
                    else if (command == "Refuel")
                    {
                        if (type == "Car")
                        {
                            car.Refuel(value);
                        }
                        else if (type == "Truck")
                        {
                            truck.Refuel(value);
                        }
                        else if (type == "Bus")
                        {
                            bus.Refuel(value);
                        }
                    }
                    else if (command == "DriveEmpty")
                    {
                        if (type == "Bus")
                        {
                            bus.DriveEmpty(value);
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            Console.WriteLine(car);
            Console.WriteLine(truck);
            Console.WriteLine(bus);
        }