Untitled
unknown
plain_text
2 years ago
3.9 kB
7
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