第七周项目训练2 友员类

来源:互联网 发布:wer机器人编程 编辑:程序博客网 时间:2024/05/17 01:10
/*
*Copyright (c) 2016,烟台大学计算机学院  
*All rights reserved.  
*文件名称 :  
*作    者 : 王玙璠
*完成日期 : 2016年4月14号  
*版 本 号 : v1.0  
* /

问题描述: 设计一个友员类函数


程序设计:

#include<iostream>using namespace std;class Date{public:    Date(int m,int d,int y):month(m),day(d),year(y){}    friend class Time;    int is_month(int m,int y);    int judge(int y);private:    int month;    int day;    int year;};int Date::judge(int y){    if(y%4==0&&y%100!=0||y%400==0)        return 1;    else        return 0;} int Date::is_month(int m,int y) {     switch(m)     {        case 1:        case 3:        case 5:        case 7:        case 8:        case 10:        case 12:            return 31;        case 4:        case 6:        case 9:        case 11:            return 30;        case 2:            if(judge(year))                return 29;            else return 28;     } }class Time{public:    Time(int h,int m,int s):hour(h),minute(m),sec(s){}    void add_a_sec(Date & d);    void display(Date & d);private:    int hour;    int minute;    int sec;};void Time::add_a_sec(Date & d){   if(sec+1==60)   {      sec=0;       minute+=1;       if(minute==60)       {           minute=0;           hour+=1;           if(hour==24)           {               hour=0;               d.day+=1;               if(d.day==d.is_month(d.month,d.year)+1)               {                   d.day=d.day%(d.is_month(d.month,d.year));                   d.month+=1;                   if(d.month>12)                   {                       d.month=d.month%12;                       d.year+=1;                   }               }           }       }   }    else        sec=sec+1;}void Time::display(Date & d){    if(d.month<10)cout<<'0';    cout<<d.month<<"/";    if(d.day<10)cout<<'0';    cout<<d.day<<"/";    cout<<d.year<<" ";    if(hour<10)cout<<'0';    cout<<hour<<":";    if(minute<10)cout<<'0';    cout<<minute<<":";    if(sec<10)cout<<'0';    cout<<sec<<endl;}int main(){    int i;    Time t1(23,59,32);    Date d1(12,31,3013);     for(i=0;i<70;i++)     {          t1.add_a_sec(d1);        t1.display(d1);     }    return 0;}



运行结果:



0 0
原创粉丝点击