Untitled

mail@pastecode.io avatar
unknown
plain_text
2 months ago
4.7 kB
2
Indexable
Never
// Этот using директива используется для включения пространства имен System, которое содержит базовые классы .NET Framework.
using System;

class Program
{
    static void Main(string[] args)
    {
        // Устанавливаем цвет текста консоли в желтый.
        Console.ForegroundColor = ConsoleColor.Yellow;
        // Выводим приветствие в такси.
        Console.WriteLine("Добро пожаловать в такси!");
        // Сбрасываем цвет текста консоли на стандартный.
        Console.ResetColor();

        // Запрос информации о маршруте: адрес отправления.
        Console.ForegroundColor = ConsoleColor.Magenta;
        Console.Write("Введите адрес отправления: ");
        Console.ResetColor();
        string fromLocation = Console.ReadLine(); // Считываем адрес отправления.

        // Запрос информации о маршруте: адрес назначения.
        Console.ForegroundColor = ConsoleColor.Magenta;
        Console.Write("Введите адрес назначения: ");
        Console.ResetColor();
        string toLocation = Console.ReadLine(); // Считываем адрес назначения.

        // Генерация случайных данных для расстояния и нагрузки.
        Random rnd = new Random();
        double distance = rnd.NextDouble() * 5; // Расстояние от 0 до 5 км.
        double load = rnd.Next(1, 5) switch // Случайная нагрузка.
        {
            1 => 1,
            2 => 1.5,
            3 => 2,
            _ => 2.5
        };

        // Расчет стоимости поездки.
        double correction = 1.75;
        double minPrice = 400;
        double tripPrice = Math.Max(minPrice, Math.Round(distance / correction * load * minPrice, 2));

        // Информация о водителях.
        string[,] drivers = {
            {"Нурсултан Нурсултанов", "Toyota", "Синий", "KZ 001 06"},
            {"Асылхан Асылханов", "BMW", "Черный", "KZ 002 06"},
            {"Жандос Жандосов", "Mercedes", "Белый", "KZ 003 06"}
        };

        // Выбор случайного водителя.
        int randomIndex = rnd.Next(drivers.GetLength(0)); // Генерация случайного индекса для массива водителей.
        string driverName = drivers[randomIndex, 0]; // Имя водителя.
        string carModel = drivers[randomIndex, 1]; // Модель автомобиля.
        string carColor = drivers[randomIndex, 2]; // Цвет автомобиля.
        string licensePlate = drivers[randomIndex, 3]; // Государственный номер автомобиля.

        // Генерация времени прибытия водителя и времени в пути.
        double arrivalMinutes = rnd.NextDouble() * 10; // Время прибытия водителя от 0 до 10 минут.
        DateTime currentTime = DateTime.Now; // Текущее время.
        DateTime arrivalTime = currentTime.AddMinutes(arrivalMinutes); // Время прибытия водителя.
        double travelTime = distance * 10; // Предполагаемое время в пути (1 км = 10 минут).

        // Вывод информации о поездке.
        Console.WriteLine();
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("Ваш заказ принят!");
        Console.ResetColor();
        Console.WriteLine($"Вы поедете с {fromLocation} до {toLocation}");
        Console.WriteLine($"Расстояние: {distance:F2} км");
        Console.WriteLine($"Стоимость поездки: {tripPrice} тенге");
        Console.WriteLine($"Ваш водитель: {driverName}, {carModel} {carColor}, {licensePlate}");
        Console.WriteLine($"Водитель прибудет через: {arrivalMinutes:F1} минут (в {arrivalTime:HH:mm})");
        Console.WriteLine($"Ожидаемое время в пути: {travelTime:F1} минут");
        Console.WriteLine($"Время прибытия к месту назначения: {currentTime.AddMinutes(arrivalMinutes + travelTime):HH:mm}");
    }
}


Leave a Comment