Изменить код вывода календаря - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток, у Меня есть код, который выводит календарь на указанный год. Мне нужно, чтобы Я вводил год и месяц, и Мне выводил календарь на указанный месяц. Спасибо. Код прилагаю.
class Program 
{ 
public enum Months 
{ 
Январь = 1, 
Февраль = 2, 
Март = 3, 
Апрель = 4, 
Май = 5, 
Июнь = 6, 
Июль = 7, 
Август = 8, 
Сентябрь = 9, 
Октябрь = 10, 
Ноябрь = 11, 
Декабрь = 12 
} 
static void Main(string[] args) 
{ 
 
ShowYear(Convert.ToInt32(Console.ReadLine())); 
Console.ReadLine(); 
 
} 
 
public static void ShowYear(int yearnumber) 
{ 
Calendar myCal = CultureInfo.InvariantCulture.Calendar; 
DateTime myDT = new DateTime(yearnumber, 1, 1, myCal); 
for (int i = 1; i < 13; i++) 
{ 
Console.WriteLine((Months)i); 
Console.WriteLine(); 
int month = myCal.GetMonth(myDT); 
int j = Convert.ToInt32(myCal.GetDayOfWeek(myDT)) - 1; 
for (int m = 0; m < j; m++) { Console.Write(" "); } 
while (myCal.GetMonth(myDT) == month) 
{ 
if (j % 7 == 0) Console.WriteLine(); 
string space = (myDT.Day.ToString().Length > 1) ? " " : " "; 
Console.Write(myDT.Day + space); 
myDT = myDT.AddDays(1); 
j++; 
} 
Console.WriteLine(); 
Console.WriteLine(); 
} 
}

Решение задачи: «Изменить код вывода календаря»

textual
Листинг программы
static void PrintMonth(int year, int month)
{
    var date = new DateTime(year, month, 1);
    var count = (date.AddMonths(1) - date).Days;
    var skip = (int)date.DayOfWeek;
    Console.Write("Пн Вт Ср Чт Пт");
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine(" Сб Вс");
    Console.Write(string.Join(String.Empty, Enumerable.Repeat<string>("   ", skip - 1)));
 
    for (int i = 0; i < count; i++)
    {
        Console.ResetColor();
        var d = date.AddDays(i);
        if (d.DayOfWeek == DayOfWeek.Sunday || d.DayOfWeek == DayOfWeek.Saturday)
        {
            Console.ForegroundColor = ConsoleColor.Red;
        }
        Console.Write("{0,-3}", i + 1);
        if (d.DayOfWeek == DayOfWeek.Sunday)
        {
            Console.WriteLine();
        }
    }
    Console.WriteLine();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы