Untitled
unknown
plain_text
a year ago
3.9 kB
5
Indexable
using System; // Интерфейс "Конвертер" interface IConverter { string SourceScale { get; set; } string TargetScale { get; set; } double Convert(double value); } // Интерфейс "Вывод в консоль" interface IPrintable { void Print(); } // Класс для конвертации в мили class KilometersToMilesConverter : IConverter, IPrintable { private string _sourceScale; private string _targetScale; public string SourceScale { get { return _sourceScale; } set { _sourceScale = value; } } public string TargetScale { get { return _targetScale; } set { _targetScale = value; } } public KilometersToMilesConverter(string sourceScale, string targetScale) { _sourceScale = sourceScale; _targetScale = targetScale; } public double Convert(double value) { return value * 1.609344; } public void Print() { Console.WriteLine($"Исходная шкала: {_sourceScale}, Целевая шкала: {_targetScale}"); } } // Класс для конвертации в версты class KilometersToVerstsConverter : IConverter, IPrintable { private string _sourceScale; private string _targetScale; public string SourceScale { get { return _sourceScale; } set { _sourceScale = value; } } public string TargetScale { get { return _targetScale; } set { _targetScale = value; } } public KilometersToVerstsConverter(string sourceScale, string targetScale) { _sourceScale = sourceScale; _targetScale = targetScale; } public double Convert(double value) { return value * 1.066799997; } public void Print() { Console.WriteLine($"Исходная шкала: {_sourceScale}, Целевая шкала: {_targetScale}"); } } class Program { static void Main() { Console.WriteLine("Введите название исходной шкалы для конвертации в мили:"); string sourceScaleForMiles = Console.ReadLine(); Console.WriteLine("Введите название целевой шкалы для конвертации в мили:"); string targetScaleForMiles = Console.ReadLine(); KilometersToMilesConverter milesConverter = new KilometersToMilesConverter(sourceScaleForMiles, targetScaleForMiles); Console.WriteLine("Введите расстояние в километрах:"); double distanceInKilometers = Convert.ToDouble(Console.ReadLine()); double distanceInMiles = milesConverter.Convert(distanceInKilometers); milesConverter.Print(); Console.WriteLine($"Расстояние в милях: {distanceInMiles}"); Console.WriteLine("\nВведите название исходной шкалы для конвертации в версты:"); string sourceScaleForVersts = Console.ReadLine(); Console.WriteLine("Введите название целевой шкалы для конвертации в версты:"); string targetScaleForVersts = Console.ReadLine(); KilometersToVerstsConverter verstsConverter = new KilometersToVerstsConverter(sourceScaleForVersts, targetScaleForVersts); Console.WriteLine("Введите расстояние в километрах:"); double distanceInKilometersForVersts = Convert.ToDouble(Console.ReadLine()); double distanceInVersts = verstsConverter.Convert(distanceInKilometersForVersts); verstsConverter.Print(); Console.WriteLine($"Расстояние в верстах: {distanceInVersts}"); } }
Editor is loading...
Leave a Comment