已有一个日期类Date,包括三个protected成员数据

int year;

int month;

int day;

另有一个时间类Time,包括三个protected成员数据

int hour;

int minute;

int second;

现需根据输入的日程的日期时间,安排前后顺序,为此以Date类和Time类为基类,建立一个日程类Schedule,包括以下新增成员:

int ID;//日程的ID

bool operator < (const Schedule & s2);//判断当前日程时间是否早于s2

生成以上类,并编写主函数,根据输入的各项日程信息,建立日程对象,找出需要最早安排的日程,并输出该日程对象的信息。

输入格式: 测试输入包含若干日程,每个日程占一行(日程编号ID 日程日期(**//)日程时间(::))。当读入0时输入结束,相应的结果不要输出。

输入样例:

1 2014/06/27 08:00:01

2 2014/06/28 08:00:01

0

输出样例:

The urgent schedule is No.1: 2014/6/27 8:0:1

#include <iostream>
using namespace std;
class Date{protected:int year;int month;int day;
public:Date(int year, int month, int day) : year(year), month(month), day(day) {}public:int toIntData(){return year*10000+month*100+day;}void showdate(){cout<<" "<<year<<"/"<<month<<"/"<<day;}
};
class Time{protected:int hour;int minute;int second;
public:Time(int hour, int minute, int second) : hour(hour), minute(minute), second(second) {}public:int toIntTime(){return hour*10000+minute*100+second;}void showtime(){cout<<" "<<hour<<":"<<minute<<":"<<second;}
};
class Schedule:public Date,Time{protected:int id;
public:Schedule(int id,int year, int month, int day, int hour, int minute, int second) : Date(year, month, day),Time(hour, minute, second),id(id) {}//构造函数public:bool operator < (Schedule s2){if (this->toIntData()!=s2.toIntData()){return toIntData()<s2.toIntData();} else{return toIntTime()<s2.toIntTime();}}void show(){cout<<"No."<<id<<":";Date::showdate();Time::showtime();}
};
int main(){int n;int a,b,c,d,e,f;Schedule s2(0,9999,9999,9999,999,999,99);while (cin>>n,n!=0){scanf("%d/%d/%d",&a,&b,&c);scanf("%d:%d:%d",&d,&e,&f);Schedule s1(n,a,b,c,d,e,f);if(s1<s2){s2=s1;}}cout<<"The urgent schedule is ";s2.show();}

【PTA】日程安排(多重继承+重载)相关推荐

  1. 第十五届全国大学生智能车安徽赛区参赛须知和竞赛日程安排

    安徽赛区参赛须知 和竞赛日程安排 各参赛队伍: 2020年第15届全国大学生智能汽车竞赛安徽赛区竞赛定于2020年11月7日-11月8日在合肥职业技术学院汇心湖校区举行. 联系人:吕菲 Email:l ...

  2. 预告 | AIS (ACL, IJCAI, SIGIR) 2019 论文报告会日程安排

    AlS2019是由中国中文信息学会青工委.杭州钱塘新区管委会.搜狗搜索联合举办的论文报告会. 会议将于2019年5月25日一5月26日,在杭州钱塘新区大创小镇国际创博中心内举办. 本次会议把ACL(国 ...

  3. 如何在outlook的日历Calendar里实现按照多时区显示日程安排

    如果您在一家跨国企业工作,免不了和本国以外的其他区域的程序员打交道,在进行会议安排时需要综合考虑所有与会者时区. 微软的outlook里的日历显示- calendar display贴心的提供了多时区 ...

  4. 2007.2.14 日程安排

    公元二零零七年二月十四日,农历腊月二十七,该天尤为特别,乃春节长假之初始.此外,该天将是片地鸳侣,漫天桃花之好时日,于是吾将广纳四方真气,闭关修炼,与世无争.        00:00 --7:10 ...

  5. 飞秋教程:日程安排记事提醒

    点击主面板上面的"日程安排记事提醒"按钮进入 新建日程记事 双击日程中的某天,对此日程进行记事安排. 也可以对进行批量增加,如指定每月.农历每年的生日等. 查看全部提醒和记事 对日 ...

  6. FullCalendar 一: 日程安排FullCalendar

    FullCalendar是一款基于jQuery的日历插件,适用于各种日程安排.工作计划等场景,您可以很方便的查看查看待办事项,标记重要事项以及绑定点击和拖动事件,能快速的整合到您的项目中,本文将简单介 ...

  7. ieda中快捷搜索_快捷指令(07)早上好(三)播报当日日程安排。

    机型:iPhone XR 系统:iOS13.2.3 快捷指令最新版 今天开始着手制作知友们留言最多的"早上好",今天先学习第三部分:播报当日日程安排. 首先我们来播放一下查看下效果 ...

  8. 在一个软件开发项目中进行实际日程安排的十二点提示(转)

    Laura Rose , QE Manager, Rational<?XML:NAMESPACE PREFIX = O /> <?XML:NAMESPACE PREFIX = ST1 ...

  9. 使用日程安排自动化测试来更好地管理时间与资源

    简介:在一个自动化测试系统中按日程安排一项测试是实现在特定的日期和时间内执行任务的重要组成部分.它不但能够帮助您更有效地使用测试资源,而且能够帮助您监视测试结果.本文介绍了关于这方面一些应当考虑的事项 ...

  10. 2020第二十四届软博会数据治理专场演讲嘉宾及日程安排

    第二十四届中国国际软件博览会之"数据治理与流通高峰论坛暨全国DCMM现场工作会"将于11月12日在杭州举办.本次会议由中国电子信息行业联合会.浙江省经济和信息化厅.杭州市人民政府主 ...

最新文章

  1. spark将rdd转为string_大数据技术之SparkCore(三)RDD依赖关系
  2. ElasticSearch vs Solr多维度分析对比
  3. Log4j 2:性能接近疯狂
  4. 【电路补习笔记】3、电感的参数与选型
  5. mysql5.6 二进制免编译安装
  6. OpenGL控件变换
  7. Windows操作系统正版盗版知识简介
  8. DNS 域名解析系统:CNAME 记录的作用是?
  9. 抽签抽奖小程序小工具(jquery+html)只需浏览器运行xlsx.core.min.js
  10. 2019迅雷校园招聘后端工程师面试总结
  11. 高边电流检测测量:电路和原理
  12. 查看linux系统是centos还是ubuntu的方法
  13. The Apache Way - 开源项目
  14. 60mph和kmh换算_mph换算kmh(mph换算器)
  15. kdj值应用口诀_KDJ指标神奇的操作方法详解
  16. VRTK_Example解释
  17. uCLinux系统分析
  18. 关于jxl的一点知识
  19. java基础--while循环实现存钱问题案例
  20. SQL servere 范式、事务

热门文章

  1. python 使用公司邮箱发邮件_python 使用腾讯企业邮箱发送邮件
  2. 企业邮箱怎么发邮件,又如何进行查询呢?
  3. 微软漏洞导致SQL注入威胁
  4. 使用web-play开发web应用
  5. rpm安装java_【CentOS】rpm包安装Jdk
  6. 使用C#实现Rundll32程序功能
  7. Java 笔试练习 01: T1~19
  8. 建筑业房地产管理系统
  9. source-map配置
  10. 编码格式检测(中文乱码问题)