Преобразование десятичной дроби в римскую
Напишите программу, которая принимает десятичное значение от 1 до 10 и отображает его эквивалентное значение римской цифры. Отображение сообщения об ошибке, если введенное значение находится за пределами допустимого диапазона. Напишите решение для двух классов. Второй класс должен позволять пользователю вводить тестовое значение.
Я не мог получить выход и цикл, настроенный в этой задаче.
Что я уже пробовал:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Chapater5PA1 { class Program { static void Main(string[] args) { int value; string roman; DisplayInstrution(); value = GetDecimal(); roman = CalculateRoman(value); DisplayResults(value, roman); Console.ReadKey(); } public static void DisplayInstrution() { Console.WriteLine("This application allows decimal value between 1 and 10"); Console.WriteLine("to be entered. It displays the equivalent roman numeral value."); Console.ReadKey(); } public static int GetDecimal() { int value; Console.WriteLine("Decimal value: "); value = Int32.Parse(Console.ReadLine()); return value; } public static string CalculateRoman(int value) { string result; if (value < 0 || value > 10) result = "Invalid input"; else if (value == 1) result = "I"; else if (value == 2) result = "II"; else if (value == 3) result = "III"; else if (value == 4) result = "IV"; else if (value == 5) result = "V"; else if (value == 6) result = "VI"; else if (value == 7) result = "VII"; else if (value == 8) result = "VIII"; else if (value == 9) result = "IX"; else result = "IX"; return result; } public static void DisplayResults(int value, string roman) { if (value != 0) { Console.WriteLine("Roman value: ", roman); } } } }