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