Другие языки программирования и технологии

код на языке C# для выведения на экран названия животного, символизирующего этот год по восточному календарю.

Console.WriteLine("Змеи"); // Для этого года, думаю, будет достаточно, но для любого года этой эры нужен другой подход.. .

using System;
namespace example {
class ZodiacOst {
enum zodiac : ushort { ОБЕЗЬЯНА, ПЕТУХ, СОБАКА, СВИНЬЯ, КРЫСА, БЫК, ТИГР, КРОЛИК, ДРАКОН, ЗМЕЯ, ЛОШАДЬ, ОВЦА };
static void Main(string[] args) {
string animal = "";
Console.Write(" Введите год: ");
ushort year = InputUInt16();
year %= 12;
switch ((zodiac)year) {
case zodiac.ОБЕЗЬЯНА: animal = " ОБЕЗЬЯНА"; break;
case zodiac.ПЕТУХ: animal = " ПЕТУХ"; break;
case zodiac.СОБАКА: animal = " СОБАКА"; break;
case zodiac.СВИНЬЯ: animal = " СВИНЬЯ"; break;
case zodiac.КРЫСА: animal = " КРЫСА"; break;
case zodiac.БЫК: animal = " БЫК"; break;
case zodiac.ТИГР: animal = " ТИГР"; break;
case zodiac.КРОЛИК: animal = " КРОЛИК"; break;
case zodiac.ДРАКОН: animal = " ДРАКОН"; break;
case zodiac.ЗМЕЯ: animal = " ЗМЕЯ"; break;
case zodiac.ЛОШАДЬ: animal = " ЛОШАДЬ"; break;
case zodiac.ОВЦА: animal = " ОВЦА"; break;
}
Console.WriteLine(animal);
Console.ReadLine();
}
private static ushort InputUInt16() {
ushort n; string v;
do {
v = Console.ReadLine();
if (UInt16.TryParse(v, out n)) return n;
Console.WriteLine(" Неверно введён год! ");
Console.Write(" Повторите попытку: ");
} while (true);
}
}
}
Andrei Karnauhov
Andrei Karnauhov
77 681
Лучший ответ
Алгоритм подскажу, с кодом, думаю, сам справишься.
Нулевой год - это год обезьяны. Если найти остаток от деления заданного года на 12 (кол-во вариантов) , можно по нему определить животное: 0 - обезьяна, 1 - петух, 2 - собака и т. д. Если отрицательное число (задали дату до н. э) , прибавь к нему 12. И затем используешь switch-case для вывода названия животного по значению остатка от деления.
Sasha Revera
Sasha Revera
7 135
enum и switch в предыдущем примере можно заменить более компактным кодом:
string Animals [] = { "ОБЕЗЬЯНА", "ПЕТУХ", "СОБАКА", "СВИНЬЯ", "КРЫСА", "БЫК", "ТИГР", "КРОЛИК", "ДРАКОН", "ЗМЕЯ", "ЛОШАДЬ", "ОВЦА "};
animal = Animals[ year % 12 ];
Антон Попцов
Антон Попцов
5 321