【程序填空题】日期比较(运算符重载)

server/2024/11/14 11:53:17/

题目描述

定义一个日期类CDate,包含属性:年、月、日,都是整数。

构造函数含单个参数,参数是八位整数,默认值为0,实现整数转为日期类型,例如参数为20170612,转为year=2017, month=6, day=12

实现转换运算符重载,把日期类型转为整数,例如2017年6月8日转为20170608。注意,如果月或日小于10,转化为整数时要补0

实现日期的输出函数Print,具体格式看示范数据

主函数如下,不能修改,请补充上面的日期类。

输入

第一行输入t表示有t对日期

接着每两行输入两个日期,输入t对

输出

每行输出一对日期中,日期大的信息

//

输入示例:

2
20170630
20160528
19981111
20021212
 

输出示例:

2017年06月30日
2002年12月12日

原代码块:

//补充头文件和CDate类定义
/********** Write your code here! **********/


/*******************************************/
// 主函数
int main()
{
    int t, t1, t2;
    CDate C1, C2;
    cin >> t;
    while (t--)
    {
        cin >> t1 >> t2;
        C1 = t1;
        C2 = t2;
        ((C1 > C2) ? C1 : C2).Print(); // 日期大的输出,在代码C1>C2中,会自动把C1和C2转换为整数进行比较
    }
    return 0;
}

AC代码:

// 补充头文件和CDate类定义
#include <iostream>
#include <iomanip>
using namespace std;class CDate
{int year, month, day;public:CDate() {}CDate(int date){year = date / 10000;month = (date % 10000) / 100;day = date % 100;}operator int() const{return year * 10000 + month * 100 + day;}void Print() const{cout << year << "年" << setfill('0') << setw(2) << month << "月" << setfill('0') << setw(2) << day << "日" << endl;}bool operator>(const CDate &other) const{return int(*this) > int(other);}
};// 主函数
int main()
{int t, t1, t2;CDate C1, C2;cin >> t;while (t--){cin >> t1 >> t2;C1 = t1;C2 = t2;((C1 > C2) ? C1 : C2).Print(); // 日期大的输出,在代码C1>C2中,会自动把C1和C2转换为整数进行比较}return 0;
}


http://www.ppmy.cn/server/44534.html

相关文章

axios的responseType有几种值

axios的responseType配置项可以接受多种值&#xff0c;用于指定服务器响应的数据类型。以下是axios支持的responseType值&#xff1a; json &#xff08;默认&#xff09;&#xff1a;服务器响应会被解析成JavaScript对象。arraybuffer&#xff1a;服务器响应会被解析成一个Ar…

TPM该如何应对设备老化和更新换代的挑战?

设备老化是制造业中不可避免的现象&#xff0c;随着时间的推移&#xff0c;设备性能逐渐下降&#xff0c;故障率增加&#xff0c;严重影响生产效率和产品质量。传统的设备维护方式往往只关注故障后的修复&#xff0c;而忽视了设备性能的整体提升和预防性维护。而TPM则强调设备的…

实时计算及异构计算随笔笔记

3、异构计算的典型应用 异构计算并不神秘&#xff0c;目前已渗透各个领域&#xff0c;不仅是PC领域&#xff0c;也包括了手持移动设备领域、行业领域&#xff0c;甚至是云计算、分布式计算领域。事实上&#xff0c;异构计算至少在应用端&#xff08;前台&#xff09;并不像它的…

衍生品赛道的 UniSwap:SynFutures 或将成为行业领军者

经过一个周期的发展&#xff0c;DeFi 已经成为基于区块链构建的最成功的去中心化应用&#xff0c;并彻底改变了加密市场的格局。加密货币交易开始逐步从链下转移到链上&#xff0c;并从最初简单的 Swap 到涵盖借贷、Staking、衍生品交易等广泛的生态系统。 在 DeFi 领域&#x…

51单片机学习(4)3-1 独立按键控制LED亮灭

#include<REGX52.H> void main() { //P20xFE; P2_01; while(1) { if(P3_10) { P2_00&#xff1b; } else { P2_01&#xff1b; } } }

软考结束。有什么要说的

1. 竟然是机试&#xff0c;出乎我意料。是 考试机构觉得笔试成本高了么。这次的考试是机试&#xff0c;相比以往有所不一样。感言是不是以后都会在固定地点考试也说不准。 2. 遇到年轻人。 这次旁边的一个女同学第一次参加&#xff0c;还像我询问了一些关于软考的事。我是有…

使用 Go 实现 HelloWorld 程序,并分析其结构

在学习任何新的编程语言时&#xff0c;编写一个 “Hello, World” 程序通常是最初的入门步骤。这不仅是一个传统&#xff0c;也是一种快速了解语言基本语法和运行机制的有效方法。对于 Go 语言&#xff0c;这个过程不仅可以帮助新手快速入门&#xff0c;还提供了一个窗口&#…

triton之paged attention

一 原理 图解大模型计算加速系列之&#xff1a;vLLM核心技术PagedAttention原理 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/691038809 二 源码分析 1 测试参数设置 test_paged_attention(num_seqs32,num_heads(64, 64),head_size64,block_size16,dtypetorch.float16,…