ZBLOG

已有一个日期类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

#include #include using namespace std;

class Date{ protected:

int year;
int month;
int day;

public:

Date(int y=0, int m=0, int d=0):year(y),month(m),day(d){}

};

class Time{ protected:

int hour;
int minute;
int second;

public:

Time(int h=0, int m=0, int s=0):hour(h),minute(m),second(s){}

};

class Schedule: public Date, public Time{ private:

int ID;

public:

Schedule(int id, Date d, Time t):ID(id),Date(d),Time(t){}
bool operator < (const Schedule &s2){
    if(year!=s2.year)
        return year<s2.year;
    if(month!=s2.month)
        return month<s2.month;
    if(day!=s2.day)
        return day<s2.day;
    if(hour!=s2.hour)
        return hour<s2.hour;
    if(minute!=s2.minute)
        return minute<s2.minute;
    if(second!=s2.second)
        return second<s2.second; 
    return false;//相等
 }
 void display(){
     cout<<"No."<<ID<<": "<<year<<"/"<<month<<"/"<<day<<" "<<hour<<":"<<minute<<":"<<second<<endl;    
 }

};

int main(){ Schedule earliest(1, Date(), Time()); while(true){

   int id,y,m,d,h,min,s;
   char c1,c2,c3,c4,c5;//用于读入冒号和斜杠
   cin>>id;
   if(id==0) break;//输入结束
   cin>>y>>c1>>m>>c2>>d>>h>>c3>>min>>c4>>s;
   Schedule current(id, Date(y,m,d), Time(h,min,s));
   if(current<earliest)
       earliest=current;//更新最早日程

} cout<<“The urgent schedule is “; earliest.display(); return 0; }

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=5282

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?