Advertisement
Spocoman

Metric Converter(Simple Conditions)

Oct 8th, 2023 (edited)
603
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.88 KB | None | 0 0
  1. using System;
  2.  
  3. namespace MetricConverter
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             double distance = double.Parse(Console.ReadLine());
  10.             string inputMetric = Console.ReadLine();
  11.             string outputMetric = Console.ReadLine();
  12.  
  13.             if (inputMetric == "m")
  14.             {
  15.                 distance /= 1000;
  16.             }
  17.             else if (inputMetric == "cm")
  18.             {
  19.                 distance /= 100000;
  20.             }
  21.             else if (inputMetric == "mm")
  22.             {
  23.                 distance /= 1000000;
  24.             }
  25.             else if (inputMetric == "mi")
  26.             {
  27.                 distance /= 0.621371192;
  28.             }
  29.             else if (inputMetric == "in")
  30.             {
  31.                 distance /= 39370.0787;
  32.             }
  33.             else if (inputMetric == "ft")
  34.             {
  35.                 distance /= 3280.8399;
  36.             }
  37.             else if (inputMetric == "yd")
  38.             {
  39.                 distance /= 1093.6133;
  40.             }
  41.  
  42.             if (outputMetric == "m")
  43.             {
  44.                 distance *= 1000;
  45.             }
  46.             else if (outputMetric == "cm")
  47.             {
  48.                 distance *= 100000;
  49.             }
  50.             else if (outputMetric == "mm")
  51.             {
  52.                 distance *= 1000000;
  53.             }
  54.             else if (outputMetric == "mi")
  55.             {
  56.                 distance *= 0.621371192;
  57.             }
  58.             else if (outputMetric == "in")
  59.             {
  60.                 distance *= 39370.0787;
  61.             }
  62.             else if (outputMetric == "ft")
  63.             {
  64.                 distance *= 3280.8399;
  65.             }
  66.             else if (outputMetric == "yd")
  67.             {
  68.                 distance *= 1093.6133;
  69.             }
  70.  
  71.             Console.WriteLine(distance);
  72.         }
  73.     }
  74. }
  75.  
  76. Решение с тернарен оператор:
  77.  
  78. using System;
  79.  
  80. namespace MetricConverter
  81. {
  82.     class Program
  83.     {
  84.         static void Main(string[] args)
  85.         {
  86.             double distance = double.Parse(Console.ReadLine());
  87.             string inputMetric = Console.ReadLine();
  88.             string outputMetric = Console.ReadLine();
  89.  
  90.             distance /=
  91.                 inputMetric == "m" ? 1000 :
  92.                 inputMetric == "cm" ? 100000 :
  93.                 inputMetric == "mm" ? 1000000 :
  94.                 inputMetric == "mi" ? 0.621371192 :
  95.                 inputMetric == "in" ? 39370.0787 :
  96.                 inputMetric == "ft" ? 3280.8399 :
  97.                 inputMetric == "yd" ? 1093.6133 : 1;
  98.  
  99.             distance *=
  100.                 outputMetric == "m" ? 1000 :
  101.                 outputMetric == "cm" ? 100000 :
  102.                 outputMetric == "mm" ? 1000000 :
  103.                 outputMetric == "mi" ? 0.621371192 :
  104.                 outputMetric == "in" ? 39370.0787 :
  105.                 outputMetric == "ft" ? 3280.8399 :
  106.                 outputMetric == "yd" ? 1093.6133 : 1;
  107.  
  108.             Console.WriteLine(distance);
  109.         }
  110.     }
  111. }
  112.  
  113. Решение с речник:
  114.  
  115. using System;
  116. using System.Collections.Generic;
  117.  
  118. namespace MetricConverter
  119. {
  120.     class Program
  121.     {
  122.         static void Main(string[] args)
  123.         {
  124.             double distance = double.Parse(Console.ReadLine());
  125.             string inputMetric = Console.ReadLine();
  126.             string outputMetric = Console.ReadLine();
  127.  
  128.             var metricsToKM = new Dictionary<string, double>() {
  129.                 { "km", 1 },
  130.                 { "m", 1000 },
  131.                 { "cm", 100000 },
  132.                 { "mm", 1000000 },
  133.                 { "mi", 0.621371192 },
  134.                 { "in", 39370.0787 },
  135.                 { "ft", 3280.8399 },
  136.                 { "yd", 1093.6133 }
  137.             };
  138.  
  139.             Console.WriteLine(distance / metricsToKM[inputMetric] * metricsToKM[outputMetric]);
  140.         }
  141.     }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement