NumberConversion

 avatar
user_6935124
csharp
a year ago
1.4 kB
5
Indexable
Never
using System.Collections.Generic;

namespace ConsoleApp3
{
    internal class Program
    {
        static void Main(string[] args)
        {

            var NumberConversion = new Dictionary<char, int>()
            {
                {'I', 1 },
                {'V', 5 },
                {'X', 10 },
                {'L', 50 },
                {'C', 100 },
                {'D', 500 },
                {'M', 1000 },
            };

            string number = Console.ReadLine();

            int value = 0;
            int value2 = 0;
            bool flag = true;
            foreach (var i in number)
            {
                if (NumberConversion.TryGetValue(i, out value))
                {
                    if (value > value2)
                    {
                        value -= value2;
                    }
                    else
                    {
                        value += value2;
                    }
                    value2 = value;
                }
                else
                {
                    Console.WriteLine($"Ошибка ввода, неверный символ {i}");
                    flag = false;
                    
                }
   
            }
            Console.WriteLine(flag ? $"Результат: {value}" : "Попробуйте еще раз");
        }
    }
}