예제 #1
0
파일: Program.cs 프로젝트: hammer4/SoftUni
        static void Main(string[] args)
        {
            int count = int.Parse(Console.ReadLine());
            Car[] cars = new Car[count];

            for(int i=0; i<count; i++)
            {
                string input = Console.ReadLine();
                string[] tokens = input.Split(new char[0], StringSplitOptions.RemoveEmptyEntries);
                string model = tokens[0];
                decimal fuelAmmount = decimal.Parse(tokens[1]);
                decimal fuelCost = decimal.Parse(tokens[2]);
                cars[i] = new Car(model, fuelAmmount, fuelCost);
            }

            string command = Console.ReadLine();
            while(command != "End")
            {
                string[] tokens = command.Split(new char[0], StringSplitOptions.RemoveEmptyEntries);
                string model = tokens[1];
                decimal distance = decimal.Parse(tokens[2]);

                cars.Where(c => c.model == model).ToList().ForEach(c => c.Drive(distance));

                command = Console.ReadLine();
            }

            foreach(Car car in cars)
            {
                Console.WriteLine("{0} {1:F2} {2}", car.model, car.fuelAmmount, car.distanceTravelled);
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            Dictionary<string, Car> cars = new Dictionary<string, Car>();

            int n = int.Parse(Console.ReadLine());
            for (int i = 0; i < n; i++)
            {
                var input = Console.ReadLine().Split().ToArray();
                cars[input[0]] = new Car(double.Parse(input[1]), double.Parse(input[2]));
            }

            var drive = Console.ReadLine();
            while (drive != "End")
            {
                var arguments = drive.Split();
                var car = cars[arguments[1]];
                var driveFuel = car.Drive(car.FuelCostPerKm, long.Parse(arguments[2]));

                if (car.FuelAmount - driveFuel < 0)
                {
                    Console.WriteLine("Insufficient fuel for the drive");
                }
                else
                {
                    car.FuelAmount -= driveFuel;
                    car.DistanceTraveled += long.Parse(arguments[2]);
                }

                drive = Console.ReadLine();
            }

            foreach (var car in cars)
            {
                Console.WriteLine("{0} {1:F2} {2}", car.Key, car.Value.FuelAmount, car.Value.DistanceTraveled);
            }
        }