По номеру года показать название года по восточному календарю - C#
Формулировка задачи:
Разработать консольное приложение, которое по номеру года показывает название соответствующего года по восточному календарю. Вывод должен осуществляться по правилам русского языка. Например: "Год чёрной змеи", "Год чёрного тигра" и т.д. Выводимые данные должны формироваться из массивов названий животных и названий цвета года. В массиве с названиями цвета года допускается иметь все значения необходимые и для формирования правильного вывода. Например: "красной", "красного" т.д. В массиве с названиями животных допускается иметь все значения необходимые и для формирования правильного вывода. Например: "змея", "змеи", "тигр", "тигра и т.д. Для определения типа соответствующего года использовать данные из рис. 1.Этот же рисунок определяет диапазон доступных для ввода данных.
Спасибо))
Решение задачи: «По номеру года показать название года по восточному календарю»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
int factor=0, year, anim=0;
Dictionary<int, string> colors = new Dictionary<int, string> { {1,"синей"},{2,"красной"},{3,"желтой"},{4,"белой"},{5,"черной"},{11,"синего"},{12,"красного"},{13,"желтого"},{14,"белого"},{15,"черного"} ,};
Dictionary<int, string> animals = new Dictionary<int, string> { {1,"мыши"},{2,"быка"},{3,"тигра"},{4,"зайца"},{5,"дракона"},{6,"змеи"},{7,"лошади"},{8,"овцы"},{9,"обезьяны"},{10,"петуха"},{11,"собаки"},{12,"свиньи"},};
Console.WriteLine("Введите год:");
year = Convert.ToInt32(Console.ReadLine());
for (int i = 1864; i <= year; i += 2){
factor++;
if (factor >= 6)
factor = 1;}
for (int i = 1864; i <= year; i++){
anim++;
if (anim >= 13)
anim = 1;}
if (anim == 2 || anim == 3 || anim == 4 || anim == 5 || anim == 10)
factor += 10;
try
{
Console.WriteLine("Год "+colors[factor]+" "+animals[anim]);
}
catch (Exception e)
{
Console.WriteLine("Нет данных.");
}
Console.ReadKey();
}
}
}