⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 +

📁 利用元年元月元日(即1年1月1日)是星期一的已知事实
💻
字号:
/*8.用户任意输入一个年份以及该年的1月1日是星期几,而后再输入该年的任意一个月份,
由程序负责在屏幕上按照你所设计的格式显示出这一个月的月历。
思考:利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,
让用户仅输入任意一个年份和一个月份,则程序就应按格式显示出该年那一个月的月历。*/
#include <iostream.h>
#include <stdlib.h>
int IsLeapYear(int);
void main()
{
	int i;
    int day,year;
	int m;
    int n;
    int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31};

    while(true)
	{
	cout<<endl;
	cout<<"Please enter the year: ";
    cin>>year;
	cout<<"Please enter the month:";
	cin>>m;

	long int Year_days = 0;
    int Year_Start = 1;
    int Per_Year_Days;
    while(Year_Start<year)
	{
		if(IsLeapYear(Year_Start))
			Per_Year_Days=366;
        else
			Per_Year_Days=365;
		Year_days=Year_days+Per_Year_Days;
		Year_Start++;
	}
	for(int j=1;j<m;j++){
		switch(j)
		{
        case 1:
			Year_days=Year_days+month_day[0];
            break;
        case 2:
			if(IsLeapYear(year))
				Year_days=Year_days+29;
			else
				Year_days=Year_days+month_day[1];
            break;
        case 3:
			Year_days=Year_days+month_day[2];
            break;
        case 4:
			Year_days=Year_days+month_day[3];
            break;
        case 5:
			Year_days=Year_days+month_day[4];
            break;
        case 6:
			Year_days=Year_days+month_day[5];
            break;
        case 7:
			Year_days=Year_days+month_day[6];
            break;
        case 8:
			Year_days=Year_days+month_day[7];
            break;
        case 9:
			Year_days=Year_days+month_day[8];
            break;
        case 10:
			Year_days=Year_days+month_day[9];
            break;
        case 11:
			Year_days=Year_days+month_day[10];
            break;
		}
	}
	 i =Year_days%7;
	 cout<<endl;
     cout<<"Mon Tue Wed Thu Fri Sat Sun"<<endl;
     if(i!=0)
		 for(n=0;n<i;n++)
         cout<<"    ";
         day=1;
	 if(IsLeapYear(year)&&m==2)
        while(day<=29)
		{
			 if(day>1)
				 if(Year_days%7==0)
                 cout<<endl;
             if(day>=10)
		         cout<<day<<"  ";
             else
                 cout<<day<<"   ";
			 Year_days++;
             day++;
		 }
	else
		while(day<=month_day[m-1])
		{
			if(day>1)
                if(Year_days%7==0)
                cout<<endl;
            if(day>=10)
                cout<<day<<"  ";
            else
                cout<<day<<"   ";
            Year_days++;
            day++;
		}
	cout<<endl;
}
	}
int IsLeapYear(int year)
{
    if ((year%4==0)&&(year%100!=0)||(year%400==0))
		return 1;
    else
		return 0;
}

⌨️ 快捷键说明

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