static void Main(string[] args) { Cargo cargo = new Cargo(); Dictionary <double, string> options = new Dictionary <double, string>(); AirContainer air = new AirContainer(); SeaContainer sea = new SeaContainer(); TrainContainer train = new TrainContainer(); WagonContainer wagon = new WagonContainer(); TruckContainer truck = new TruckContainer(); OperationConsole.inputCargo(cargo); OperationConsole.showCargo(cargo); OperationConsole.selectContainer(cargo, air, options); OperationConsole.selectContainer(cargo, sea, options); OperationConsole.selectContainer(cargo, train, options); OperationConsole.selectContainer(cargo, wagon, options); OperationConsole.selectContainer(cargo, truck, options); double min = 1000000000; string str = ""; foreach (var item in options) { if (item.Key < min) { min = item.Key; str = item.Value; } } WriteLine("-------------------------------"); WriteLine($"Мы рекомендуем воспользоваться {str}"); }
public static void selectContainer(Cargo cargo, AirContainer air, Dictionary <double, string> options) // Метод который даёт полную информацию о совместимости груза и контейнера, если всё ок, то в массив с успешными вариантами { if (air.checkVolume(cargo)) { WriteLine("Для Вашего груза доступна авиаперевозка"); air.containerPlace(cargo); WriteLine($"С учётом Вашего груза контейнер загружен на {air.Percent()}%"); WriteLine($"Стоимость перевозки составит - {air.getPrice(cargo)}"); WriteLine("-------------------------"); double temp = air.getPrice(cargo) / air.Percent(); // коэффициент оптимального выбора контейнера исходя из стоимости и загруженности options.Add(temp, "Аэроперевозка"); } else { WriteLine("Авиаперевозка не доступна"); WriteLine("--------------------------"); } }