Advertisement
filipovv

metricconverter

Jan 30th, 2017
741
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.42 KB | None | 0 0
  1. using System;
  2.  
  3. namespace MetricConverter
  4. {
  5.     class MainClass
  6.     {
  7.         public static void Main(string[] args)
  8.         {
  9.             double amount = double.Parse(Console.ReadLine());
  10.             string inValue = Console.ReadLine();
  11.             string outValue = Console.ReadLine();
  12.  
  13.             double result = 0;
  14.  
  15.             switch(inValue)
  16.             {
  17.                 case "m":
  18.                     switch (outValue)
  19.                     {
  20.                         case "m": result = amount;break;
  21.                         case "mm": result = amount*1000;break;
  22.                         case "cm": result = amount*100;break;
  23.                         case "mi": result = amount*0.000621371192;break;
  24.                         case "in": result = amount*39.3700787;break;
  25.                         case "km": result = amount*0.001;break;
  26.                         case "ft":result = amount*3.2808399;break;
  27.                         case "yd": result = amount*1.0936133;break;
  28.                     }break;
  29.                     case "mm":
  30.                     switch (outValue)
  31.                     {
  32.                         case "mm": result = amount; break;
  33.                         case "m": result = amount / 1000;break;
  34.                         case "cm": result = amount / 1000 * 100;break;
  35.                         case "mi": result = amount / 1000 * 0.000621371192;break;
  36.                         case "in": result = amount / 1000 * 39.3700787;break;
  37.                         case "km": result = amount / 1000 * 0.001;break;
  38.                         case "ft": result = amount / 1000 * 3.2808399;break;
  39.                         case "yd": result = amount / 1000 * 1.0936133;break;
  40.                     }break;
  41.                     case "cm":
  42.                     switch (outValue)
  43.                     {
  44.                         case "cm": result = amount; break;
  45.                         case "m": result = amount / 100;break;
  46.                         case "mm": result = amount / 100 * 1000;break;
  47.                         case "mi": result = amount / 100 * 0.000621371192;break;
  48.                         case "in": result = amount / 100 * 39.3700787;break;
  49.                         case "km": result = amount / 100 * 0.001;break;
  50.                         case "ft": result = amount / 100 * 3.2808399;break;
  51.                         case "yd": result = amount / 100 * 1.0936133;break;
  52.                     }break;
  53.                     case "mi":
  54.                     switch (outValue)
  55.                     {
  56.                         case "mi": result = amount; break;
  57.                         case "m": result = amount / 0.000621371192;break;
  58.                         case "mm": result = amount / 0.000621371192 * 1000;break;
  59.                         case "cm": result = amount / 0.000621371192 * 100;break;
  60.                         case "in": result = amount / 0.000621371192 * 39.3700787;break;
  61.                         case "km": result = amount / 0.000621371192 * 0.001;break;
  62.                         case "ft": result = amount / 0.000621371192 * 3.2808399;break;
  63.                         case "yd": result = amount / 0.000621371192 * 1.0936133;break;
  64.                     }break;
  65.                     case "in":
  66.                     switch (outValue)
  67.                     {
  68.                         case "in": result = amount; break;
  69.                         case "m": result = amount / 39.3700787;break;
  70.                         case "mm": result = amount / 39.3700787 * 1000;break;
  71.                         case "cm": result = amount / 39.3700787 * 100;break;
  72.                         case "mi": result = amount / 39.3700787 * 0.000621371192;break;
  73.                         case "km": result = amount / 39.3700787 * 0.001;break;
  74.                         case "ft": result = amount / 39.3700787 * 3.2808399;break;
  75.                         case "yd": result = amount / 39.3700787 * 1.0936133;break;
  76.                     }break;
  77.                     case "km":
  78.                     switch (outValue)
  79.                     {
  80.                         case "km": result = amount; break;
  81.                         case "m": result = amount / 0.001;break;
  82.                         case "mm": result = amount / 0.001 * 1000;break;
  83.                         case "cm": result = amount / 0.001 * 100;break;
  84.                         case "mi": result = amount / 0.001 * 0.000621371192;break;
  85.                         case "in": result = amount / 0.001 * 39.3700787;break;
  86.                         case "ft": result = amount / 0.001 * 3.2808399;break;
  87.                         case "yd": result = amount / 0.001 * 1.0936133;break;
  88.                     }break;
  89.                     case "ft":
  90.                     switch (outValue)
  91.                     {
  92.                         case "ft": result = amount; break;
  93.                         case "m": result = amount / 3.2808399;break;
  94.                         case "mm": result = amount / 3.2808399 * 1000;break;
  95.                         case "cm": result = amount / 3.2808399 * 100;break;
  96.                         case "mi": result = amount / 3.2808399 * 0.000621371192;break;
  97.                         case "in": result = amount / 3.2808399 * 39.3700787;break;
  98.                         case "km": result = amount / 3.2808399 * 0.001;break;
  99.                         case "yd": result = amount / 3.2808399 * 1.0936133;break;
  100.                     }break;
  101.                     case "yd":
  102.                     switch (outValue)
  103.                     {
  104.                         case "yd": result = amount; break;
  105.                         case "m": result = amount / 1.0936133;break;
  106.                         case "mm": result = amount / 1.0936133 * 1000;break;
  107.                         case "cm": result = amount / 1.0936133 * 100;break;
  108.                         case "mi": result = amount / 1.0936133 * 0.000621371192;break;
  109.                         case "in": result = amount / 1.0936133 * 39.3700787;break;
  110.                         case "km": result = amount / 1.0936133 * 0.001;break;
  111.                         case "ft": result = amount / 1.0936133 * 3.2808399;break;
  112.                     }break;
  113.             }
  114.             Console.WriteLine($"{result} {outValue}");
  115.         }
  116.     }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement