Imports System
Module UnitConverter
' Conversion functions (all convert *from meters* first)
Function mmToMeters(mm As Double) As Double
Return mm / 1000.0
End Function
Function cmToMeters(cm As Double) As Double
Return cm / 100.0
End Function
Function kmToMeters(km As Double) As Double
Return km * 1000.0
End Function
Function milesToMeters(mi As Double) As Double
Return mi * 1609.34
End Function
Function feetToMeters(ft As Double) As Double
Return ft * 0.3048
End Function
Function yardsToMeters(yd As Double) As Double
Return yd * 0.9144
End Function
Function inchesToMeters(i As Double) As Double
Return i * 0.0254
End Function
' Convert meters → all units
Function toMillimeters(m As Double) As Double
Return m * 1000.0
End Function
Function toCentimeters(m As Double) As Double
Return m * 100.0
End Function
Function toKilometers(m As Double) As Double
Return m / 1000.0
End Function
Function toMiles(m As Double) As Double
Return m / 1609.34
End Function
Function toFeet(m As Double) As Double
Return m / 0.3048
End Function
Function toYards(m As Double) As Double
Return m / 0.9144
End Function
Function toInches(m As Double) As Double
Return m / 0.0254
End Function
Sub Main()
Dim choice As Integer
Dim value As Double
Dim meters As Double
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 = Integer.Parse(Console.ReadLine())
Console.Write("Enter value: ")
value = Double.Parse(Console.ReadLine())
' Convert chosen unit → meters
Select Case choice
Case 1 : meters = mmToMeters(value)
Case 2 : meters = cmToMeters(value)
Case 3 : meters = value
Case 4 : meters = kmToMeters(value)
Case 5 : meters = milesToMeters(value)
Case 6 : meters = feetToMeters(value)
Case 7 : meters = yardsToMeters(value)
Case 8 : meters = inchesToMeters(value)
Case Else
Console.WriteLine("Invalid choice")
Return
End Select
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"))
End Sub
End Module
' 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: 1
'
' 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
'