public void convertTo(distanceUnit to) { double factor = Math.Pow(10, units - to); units = to; magnitude *= factor; }
private static distanceUnit DistanceMenu() { string userResponse; distanceUnit result = distanceUnit.kilometre; bool validResponse = true; do { //Assume a valid response //print a menu Console.WriteLine("Program Menu: Please select one of the following options"); Console.WriteLine("M) Distance in miles"); Console.WriteLine("K) Distance in kilometres"); Console.WriteLine("A) Distance in astronomical units"); userResponse = Console.ReadLine(); //Process the user response a little to make it easier to match userResponse = userResponse.ToUpper(); //Makes it all upper case userResponse = userResponse.Trim(); //Takes off any spare spaces //Process user input for menu switch (userResponse) { case "M": result = distanceUnit.mile; validResponse = true; break; case "K": result = distanceUnit.kilometre; validResponse = true; break; case "A": result = distanceUnit.astronomicalUnit; validResponse = true; //More code can go here... break; default: Console.WriteLine("You did not enter a valid response, please enter A, K or M"); validResponse = false; break; } } while (!validResponse); return(result); }
/// <summary> /// Sets the distance units to be used. /// </summary> /// <param name="unitToUse">The distanceUnit to use</param> public void setDistanceUnits(distanceUnit unitToUse) { currentDistanceUnit = unitToUse; }
public Distance(double mag, distanceUnit unit) { Magnitude = mag; this.units = unit; }