*/
* 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++走向远洋——35(友元,时间)的更多相关文章

  1. C++走向远洋——34(友元函数,成员函数和一般函数的区别)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:youyuan.cpp * 作者:常轩 * 微信公众号:Worl ...

  2. C++走向远洋——28(项目三,时间类,2)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:time.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  3. C++走向远洋——27(项目三,时间类)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:time.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  4. C++走向远洋——49(项目一2、复数类中的运算符重载、类的友元函数)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  5. C++走向远洋——33(静态成员的应用)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:time.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  6. C++走向远洋——50(Time类中的运算符重载、一目,二目比较运算符、二目赋值运算符、二目加减法运算符)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  7. C++走向远洋——68(十六周、文件)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  8. C++走向远洋——67(项目二、洗牌)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  9. C++走向远洋——66(十五周阅读程序)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

随机推荐

  1. String--课后作业1

    1.程序设计思想 输入一个字符串,利用charAt()提取指定位置的字符,判断该字符是否是x,y,z(大小写都一样),若是,则将该字符减23后强制转换为char型,若不是则将其加3后强制转换为char ...

  2. 工作常见的git命令

     Git创建项目仓库: 1.git init 初始化   2.git remote add origin url 关联远程仓库   3.git pull  拉取远程仓库到本地  相当于(git fet ...

  3. ubantu中的mysql命令

    查看mysql的安装目录:which mysql 进入mysql的运行状态:mysql -uroot -p 56..a_

  4. 使用idea创建spring mvc项目图文教程

    使用idea创建spring mvc项目图文教程 前言: 使用惯了eclipse的朋友,如果刚换成了idea或许有些不习惯.但是使用idea之后,就会love上idea了.本文将通过图文讲解怎么通过i ...

  5. 以puppeteer抓取微指数,puppeteer基本示例,docker部署headless

    还是直接上代码 https://github.com/cclient/weizhishu-puppeteer 根据关键字获取微博指数 早期版本以常规的构造cookie,token,sign的访问api ...

  6. Excel-DNA项目只用1个文件实现Ribbon CustomUI和CustomTaskpane定制【C#版】

    Excel-DNA项目中的自定义功能区和自定义任务窗格需要用到各种命名空间.添加所需文件,才能实现.后来我发现可以把所有代码都写在Class1.cs这个默认文件中. 大家可以在Visual Studi ...

  7. 量化预测质量之分类报告 sklearn.metrics.classification_report

    classification_report的调用为:classification_report(y_true, y_pred, labels=None, target_names=None, samp ...

  8. openpyxl传入表名时不要使用默认的sheet表名

    openpyxl传入表名时不要使用默认的sheet表名,会报错 处理:改一下表名即可

  9. Redis 总结精讲 看一篇成高手系统

    转自:https://blog.csdn.net/hjm4702192/article/details/80518856 本文围绕以下几点进行阐述 1.为什么使用redis2.使用redis有什么缺点 ...

  10. unittest(23)- python发邮件

    import smtplib import time from email.mime.multipart import MIMEMultipart from email.mime.text impor ...