Перевести с Delphi в C# на консольном режиме
Формулировка задачи:
Program Case20;
var
D,M:integer;
begin
Writeln('введите целое число (день) D=');
readln(D);
Writeln('введите целое число (месяц) M=');
readln(M);
case M of
1:begin
if (D<19)then Writeln('Козерог')
else Writeln('Водолей')
end;
2:begin
if (D<18)then Writeln('Водолей')
else Writeln('Рыбы')
end;
3:begin
if (D<20)then Writeln('Рыбы')
else Writeln('Овен')
end;
4:begin
if (D<19)then Writeln('Овен')
else Writeln('Телец')
end;
5:begin
if (D<20)then Writeln('Телец')
else Writeln('Близнецы')
end;
6:begin
if (D<21)then Writeln('Близнецы')
else Writeln('Рак')
end;
7:begin
if (D<22)then Writeln('Рак')
else Writeln('Лев')
end;
8:begin
if (D<22)then Writeln('Лев')
else Writeln('Дева')
end;
9:begin
if (D<22)then Writeln('Дева')
else Writeln('Весы')
end;
10:begin
if (D<22)then Writeln('Весы')
else Writeln('Скорпион')
end;
11:begin
if (D<21)then Writeln('Скорпион')
else Writeln('Стрелец')
end;
12:begin
if (D<19)then Writeln('Стрелец')
else Writeln('Козерог')
end;
else Writeln('ошибка');
end;
end.
А можно сделать по короче в с# ? как тогда будет?
Решение задачи: «Перевести с Delphi в C# на консольном режиме»
textual
Листинг программы
static void Main(string[] args) {
do {
string[] Signs = new string[12] { "Козерог", "Водолей", "Рыбы", "Овен", "Телец", "Близнецы", "Рак", "Лев", "Дева", "Весы", "Скорпион", "Стрелец" };
int[] dates = new int[12] { 19, 18, 20, 19, 20, 21, 22, 22, 22, 22, 21, 19 };
Console.Write("День рождения (число): ");
int d = int.Parse(Console.ReadLine());
Console.Write("Месяц рождения (число): ");
int m = int.Parse(Console.ReadLine());
int index = d < dates[m - 1] ? m - 1 : m;
if (index == 0)
index = 11;
else if (index == 12)
index = 0;
Console.WriteLine("Ваш знак гороскопа — {0}", Signs[index]);
} while (Console.ReadKey().Key != ConsoleKey.Escape);