定义一个Time类,仅包含公有的数据成员包括 年,月,日。题目详情在内容里

定义一个Time类,仅包含公有的数据成员包括 年,月,日。要求输入年、月、日,使程序能计算并输出该日在本年中是第几天,注意闰年的问题。

可以在这个框架上修改一下么

#include <iostream>
using namespace std;
int main()
{
    int y, m, d, days, i;
int  x[12]={31,0,31,30,31,30,31,31,30,31,30,31};     
cout <<"year=?";
    cin>>y;
    cout <<"month=?";
    cin>>m;
    cout <<"day=?";
    cin>>d;

if(y % 4 ==0 && y % 100 !=0 || y % 400 ==0) x[1]=29;  
    else x[1]=28;
    days=0;
    for(i=0;i<=m-2;i++)
    {
        days=days+x[i];
    }
    days=days+d;
    cout<<y<<"年"<<m<<"月"<<d<<"日是这年的第"<<days<<"天"<<endl;
    return 0;
}
 

然后题目要求“编写一个函数days实现上面的计算,由主函数将年,月,日传递给函数days,计算出该日在本年中是第几天,并将结果传回主函数输出。”

谢谢各位帮助了

代码如下:

#include <iostream>
using namespace std;


class Time
{
public:
	Time(int y,int m,int d){year = y; month = m; day = d;}
	int days();
public:
	int year;
	int month;
	int day;
};


int Time::days()
{
	if(month<1 || month > 12)
		return -1;
	else if (month == 1)
	{
		//cout<<y<<"年"<<m<<"月"<<d<<"日是这年的第"<<d<<"天"<<endl;
		return day;
	}else
	{
		int  x[12]={31,0,31,30,31,30,31,31,30,31,30,31}; 
		if(year % 4 ==0 && year % 100 !=0 || year % 400 ==0) 
			x[1]=29;  
		else 
			x[1]=28;

		int daysout =0;
		for(int i=0;i<=month-2;i++)
		{
			daysout = daysout + x[i];
		}
		daysout=daysout+day;
		//cout<<year<<"年"<<m<<"月"<<d<<"日是这年的第"<<daysout<<"天"<<endl;
		return daysout;
	}

}


int main()
{
	int y, m, d, daysout;
	    
	cout <<"year=?";
	cin>>y;
	cout <<"month=?";
	cin>>m;
	cout <<"day=?";
	cin>>d;

	Time t(y,m,d);
	daysout = t.days();
	
	cout<<y<<"年"<<m<<"月"<<d<<"日是这年的第"<<daysout<<"天"<<endl;
	
	return 0;
}
#include <iostream>
using namespace std;
int days(int year,int m,int d)
{
	if(m<1 || m > 12)
		return -1;
	    
	int  x[12]={31,0,31,30,31,30,31,31,30,31,30,31}; 
	if(year % 4 ==0 && year % 100 !=0 || year % 400 ==0) 
		x[1]=29;  
	else 
		x[1]=28;
	int daysout = d;
	for(int i=0;i<=m-2;i++)
	{
		daysout += x[i];
	}
	return daysout;
	}
}
 
int main()
{
	int y, m, d, daysout;
	    
	cout <<"year=?";
	cin>>y;
	cout <<"month=?";
	cin>>m;
	cout <<"day=?";
	cin>>d;
	daysout = days(y,m,d);
	
	cout<<y<<"年"<<m<<"月"<<d<<"日是这年的第"<<daysout<<"天"<<endl;
	
	return 0;
}