Изменить код вывода календаря - 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();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д