打印日历.cpp

来自「打印任意年份的日历和星期」· C++ 代码 · 共 44 行

CPP
44
字号
#include<iostream.h>
bool leapyear(int year)   //判断指定年是否为闰年
{
	if (year%4==0&&year%100!=0) return true;
		if (year%100==0&&year%400==0)
		return true;
	return false;
}
int  firstday(int year)   //计算指定年的第一天为星期几
{
	int count=0;
	for(int i=1900;i<year;i++)
		if(leapyear(i)) count+=366;
		else count+=365;
		return (count+1)%7;
}
void main()
{
	int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	int i,j,k=0,year;
	cout<<"请输入要打印日历的年:";
	cin>>year;
	if (leapyear(year)) month[1]=29;
	cout<<" 日 一 二 三 四 五 六"<<endl;
	for(i=0;i<firstday(year);i++)        //输出一月一日之前的空格
	{
		cout<<"   ";
		k++;
	}
	for(i=0;i<12;i++)
	{
		for(j=0;j<month[i];j++)
		{
			cout.width(3);    //设定日期输出宽度为3个字节
			cout<<j+1;        //输出日期
			if (++k%7==0) cout<<endl;
		}
		cout<<endl;
		cout<<"^^^^^^^^^"<<i+1<<"月^^^^^^^^^"<<endl;
		for(j=0;j<k%7;j++)
			cout<<"   ";
	}
	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?