zoukankan      html  css  js  c++  java
  • C++走向远洋——35(友元,时间)

    */
     * Copyright (c) 2016,烟台大学计算机与控制工程学院
     * All rights reserved.
     * 文件名:time.cpp
     * 作者:常轩
     * 微信公众号:Worldhello
     * 完成日期:2016年4月12日
     * 版本号:V1.4
     * 问题描述:
     * 程序输入:无
     * 程序输出:见运行结果
     */
    #include <iostream>
    
    using namespace std;
    class Date;
    class Time{
    
      public:
          Time(int,int,int);
          void add_a_second(Date &);
          void display(Date &);
      private:
        int hour;
        int minute;
        int sec;
    };
    Time::Time(int a,int b,int c)
    {
        hour=a;
        minute=b;
        sec=c;
    }
    
    
    class Date{
     public:
         Date(int,int,int);
         friend class Time;
     private:
        int month;
        int day;
        int year;
    };
    Date::Date(int m,int d,int y)
    {
        month=m;
        day=d;
        year=y;
    }
    
    int main()
    {
        Time t1(23,59,32);
        Date d1(12,31,2013);
        for(int i=0;i<=100;i++)
        {
            t1.add_a_second(d1);
            t1.display(d1);
        }
        return 0;
    }
    int days(int x,int y);
    void Time::add_a_second(Date &p)
    {
        sec++;
        if(sec>59)
        {
    
    
            sec=0;
            minute++;
            if(minute>59)
            {
                hour++;
                minute=0;
            }
            if(hour>23)
            {
                p.day++;
                hour=0;
            }
            if(p.day>days(p.month,p.year))
            {
                p.month++;
                p.day=1;
            }
            if(p.month>12)
            {
                p.year++;
                p.month=1;
            }
        }
    
    }
    void Time::display(Date &p)
    {
       cout<<p.year<<"年"<<p.month<<"月"<<p.day<<"日";
       cout<<hour<<":"<<minute<<":"<<sec<<endl;
    }
    
    int days(int x,int y)
    {
        int d[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        if((y%4==0&&y%100!=0)||(y%400==0))
            d[2]=29;
        return d[x];
    
    }
    


    运行结果:

    心得:

          虽然过程很坎坷,但是最终还是做出来了

  • 相关阅读:
    C语言博客作业04--数组
    DS博客作业04--树大作业
    Java课程设计
    JAVA课设-五子棋-团队博客
    yue
    Java扫雷设计
    java课设--五子棋
    软件工程-个人总结
    JAVA课程设计个人博客
    JAVA第09次实验(IO流)
  • 原文地址:https://www.cnblogs.com/chxuan/p/8232245.html
Copyright © 2011-2022 走看看