Untitled
unknown
plain_text
2 years ago
4.7 kB
7
Indexable
// Этот 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}");
}
}
Editor is loading...
Leave a Comment