控制台日历代码编写

Posted 瑶狗屎狗屎瑶i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控制台日历代码编写相关的知识,希望对你有一定的参考价值。

int year, month;
while (true)
{
Console.Write("请输入年份(1900-2100):");
year = int.Parse(Console.ReadLine());
if (year < 1900 || year > 2100)
{
Console.Write("输入错误,按回车键重新输入");
Console.ReadLine();
Console.Clear();
}
else
{
Console.Write("请输入月份(1-12):");
month = int.Parse(Console.ReadLine());
if (month < 1 || month > 12)
{
Console.Write("输入错误,按回车键重新输入");
Console.ReadLine();
Console.Clear();
}
else
{
break;
}
}
}
List<string> dates = new List<string>();
int crossDaysOfYear = 0;
for (int i = 1900; i < year; i++)
{
if (i % 4 == 0 && 1 % 100 != 0 || i % 400 == 0)
{
crossDaysOfYear += 366;
}
else
{
crossDaysOfYear += 365;
}
}
int crossDaysOfmonth = 0;
for (int i = 1; i < month; i++)
{
if (i == 2)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
crossDaysOfmonth += 29;
}
else
{
crossDaysOfmonth += 28;
}
}
else if (i <= 7 && i % 2 != 0 || i > 7 && i % 2 == 0)
{
crossDaysOfmonth += 31;
}
else
{
crossDaysOfmonth += 30;
}
}
int crossDays = crossDaysOfYear + crossDaysOfmonth;
int dayOfWeek = crossDays % 7 + 1;
int space = dayOfWeek - 1;
for (int i = 0;i < space; i++)
{
dates.Add("");
}
int days;
if (month == 2)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
days = 29;
}
else
{
days = 28;
}
}
else if (month <= 7 && month % 2 != 0 || month > 7 && month % 2 == 0)
{
days = 31;
}
else
{
days = 30;
}
for (int i = 1; i <= days; i++)
{
dates.Add(i.ToString());
}
Console.WriteLine("****************************************");
Console.Write("一\t二\t三\t四\t五\t六\t日");
for (int i = 0; i < dates.Count; i++)
{
if (i % 7 == 0)
{
Console.WriteLine();
}
Console.Write(dates[i] + "\t");
}
Console.WriteLine();
Console.WriteLine("****************************************");
Console.ReadLine();

以上是关于控制台日历代码编写的主要内容,如果未能解决你的问题,请参考以下文章

编写程序,提示用户输入年份和该年第一天的星期,在控制台上显示该年的日历表。

*日历程序*无法为此日历程序编写循环以正确显示

Java编写程序,输入年份,输出本年度各月份日历

JAVA编写简单的日历,输入日期即可查看日历

怎样用java编写日历

急求大神教如何在Python里编写日历