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