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, SeaContainer sea, Dictionary <double, string> options) { if (sea.checkVolume(cargo)) { WriteLine("Для Вашего груза доступна перевозка по морю"); sea.containerPlace(cargo); WriteLine($"С учётом Вашего груза контейнер загружен на {sea.Percent()}%"); WriteLine($"Стоимость перевозки составит - {sea.getPrice(cargo)}"); WriteLine("-------------------------"); double temp = sea.getPrice(cargo) / sea.Percent(); // коэффициент оптимального выбора контейнера исходя из стоимости и загруженности options.Add(temp, "Перевозка по морю"); } else { WriteLine("Перевозка по морю не доступна"); WriteLine("--------------------------"); } }