【C++ | PTA】类的定义和使用

文章描述了一个C++实现的日期类Date,包含年、月、日数据成员和构造函数、输出、闰年判断功能。主函数通过创建日期对象并计算其在当年的天数来展示类的使用。

文章目录

题目要求

定义一个日期类Date,内有数据成员年、月、日,另有成员函数:构造函数用于初始化数据成员,输出,闰年的判断。编写主函数:创建日期对象,计算并输出该日是该年的第几天。

输入:
每组测试数据仅包含一个测试用例,每个测试用例占一行包括三个数,分别表示年、月、日。

输出:
该日是该年的第几天。

输入样例:
2006 3 5

输出样例:
64 (2006年3月5日是该年的第64天)

代码

#include<iostream>
using namespace std;

class Date{
private:
    int year, month, day, y, d;
public:
    int pd()
    {
        if((year%4==0 && year%100!=0) || year%400==0)   // 如果年份符合闰年的条件之一,即可判定为闰年
        {
            y = 1;                                      // 标记为闰年
        }
        else
        {
            y = 0;                                      // 标记为平年
        }
    }

    int in()
    {
        cin >> year >> month >> day;                    // 读取日期数据
    }

    int js()                                            // 计算日期到全年第几天的函数
    {
        int x=0, a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        int i, r=0;
        for(i=0; i<month; i++)                          // 循环遍历每个月,将该月的天数累加到变量 x 中
        {
            x += a[i];
        }
        x += day;                                       // 将当前月的天数加上指定的日数
        if(year%4==0 && year%100!=0 || year%100==0)
        {
            r = 1;
        }
        if(r && month>2)                                // 如果当前年份是闰年,并且当前月份大于 2 月,需要将多出的一天加上
        {
            x++;
        }
        return x;                                       // 返回全年第几天的结果
    }
};

int main()
{
    Date d1;
    d1.in();                                            // 调用对象的 in() 函数读取日期数据
    d1.pd();                                            // 调用对象的 pd() 函数判断该年份是否为闰年
    int a = d1.js();                                    // 调用对象的 js() 函数计算日期到全年第几天的结果
    cout << a;                                          // 输出结果

    return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值