using System;
class UnitConverter
{
// Conversion functions (all convert *from meters* first)
static double mmToMeters(double mm) { return mm / 1000.0; }
static double cmToMeters(double cm) { return cm / 100.0; }
static double kmToMeters(double km) { return km * 1000.0; }
static double milesToMeters(double mi) { return mi * 1609.34; }
static double feetToMeters(double ft) { return ft * 0.3048; }
static double yardsToMeters(double yd) { return yd * 0.9144; }
static double inchesToMeters(double i) { return i * 0.0254; }
// Convert meters → all units
static double toMillimeters(double m) { return m * 1000.0; }
static double toCentimeters(double m) { return m * 100.0; }
static double toKilometers(double m) { return m / 1000.0; }
static double toMiles(double m) { return m / 1609.34; }
static double toFeet(double m) { return m / 0.3048; }
static double toYards(double m) { return m / 0.9144; }
static double toInches(double m) { return m / 0.0254; }
static void Main()
{
int choice;
double value, meters;
Console.WriteLine("Choose input unit:");
Console.WriteLine("1. Millimeters");
Console.WriteLine("2. Centimeters");
Console.WriteLine("3. Meters");
Console.WriteLine("4. Kilometers");
Console.WriteLine("5. Miles");
Console.WriteLine("6. Feet");
Console.WriteLine("7. Yards");
Console.WriteLine("8. Inches");
Console.Write("Enter choice: ");
choice = int.Parse(Console.ReadLine());
Console.Write("Enter value: ");
value = double.Parse(Console.ReadLine());
// Convert chosen unit → meters
switch (choice)
{
case 1: meters = mmToMeters(value); break;
case 2: meters = cmToMeters(value); break;
case 3: meters = value; break;
case 4: meters = kmToMeters(value); break;
case 5: meters = milesToMeters(value); break;
case 6: meters = feetToMeters(value); break;
case 7: meters = yardsToMeters(value); break;
case 8: meters = inchesToMeters(value); break;
default:
Console.WriteLine("Invalid choice");
return;
}
Console.WriteLine();
Console.WriteLine($"Converted from meters ({meters.ToString("F6")} m):");
Console.WriteLine("Millimeters: " + toMillimeters(meters).ToString("F6"));
Console.WriteLine("Centimeters: " + toCentimeters(meters).ToString("F6"));
Console.WriteLine("Meters: " + meters.ToString("F6"));
Console.WriteLine("Kilometers: " + toKilometers(meters).ToString("F6"));
Console.WriteLine("Miles: " + toMiles(meters).ToString("F6"));
Console.WriteLine("Feet (Foot): " + toFeet(meters).ToString("F6"));
Console.WriteLine("Yards: " + toYards(meters).ToString("F6"));
Console.WriteLine("Inches: " + toInches(meters).ToString("F6"));
}
}
/*
run:
Choose input unit:
1. Millimeters
2. Centimeters
3. Meters
4. Kilometers
5. Miles
6. Feet
7. Yards
8. Inches
Enter choice: 4
Enter value:
Converted from meters (1000.000000 m):
Millimeters: 1000000.000000
Centimeters: 100000.000000
Meters: 1000.000000
Kilometers: 1.000000
Miles: 0.621373
Feet (Foot): 3280.839895
Yards: 1093.613298
Inches: 39370.078740
*/