qq_37051324 2021-05-18 12:26 采纳率: 100%
浏览 47
已采纳

定义一个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,计算出该日在本年中是第几天,并将结果传回主函数输出。”

谢谢各位帮助了

  • 写回答

2条回答 默认 最新

  • qfl_sdu 2021-05-18 12:40
    关注

    代码如下:

    #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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python