第七周项目(2)-用友员函数增加年月日(另一种方法)
来源:互联网 发布:行助手检测 网络 编辑:程序博客网 时间:2024/05/06 12:10
/**copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称:hellow.cpp*作者:田甜*完成日期:2016年4月14日*版本号:v1.0*问题描述:运用友员类实现日期和年的增加*输入描述://///*程序输出:增加一分钟后对应的年、月、日*/#include <iostream>using namespace std;class Date;class Time{public: Time(int,int,int); void add_a_second(Date&); void show_date(Date &);private: int hour,minute,second;};class Date{public: Date(int,int,int); friend class Time;//Time类中用到了Date类,所以Time类是Date类的友员类private: int year,month,day;};Time::Time(int h,int m,int s):hour(h),minute(m),second(s){}int days(int m,int n);void Time::add_a_second(Date &d){ second++; if(second>59)minute++,second=0; if(minute>59)hour++,minute=0; if(hour>23)d.day++,hour=0; if(d.day>=days(d.year,d.month))d.month++,d.day=1; if(d.month>12)d.year++,d.month=1;}int days(int m,int n){ int d[]={0,31,28,31,30,31,30,31,31,30,31,30,31};//很有意思的方法 if((m%4==0&&m%100!=0)||(m%400==0))d[1]=29; return d[n];}void Time::show_date(Date &d){ cout<<d.year<<"."<<d.month<<"."<<d.day<<" "<<hour<<":"<<minute<<":"<<second<<endl;}Date::Date(int y,int mon,int da):year(y),month(mon),day(da){}int main(){ Time time(23,59,59); Date dday(2000,2,29); time.add_a_second(dday); time.show_date(dday); for(int i=0; i<=100; i++)//有意思的检测方法 { time.add_a_second(dday); time.show_date(dday); } return 0;}
运行结果:
心得:
实现同一种功能可以有很多种方法,有的非常简单。
注意if语句可以并列不加{}了,两语句后不用;用,
0 0
- 第七周项目(2)-用友员函数增加年月日(另一种方法)
- 第七周项目(2)-友员类增加年月日
- 第七周项目(1)-友员函数求两点间距离
- 第七周项目一—友员函数
- 第七周项目训练1 成员函数,友员函数和一般函数区别
- 第七周项目 用友元函数求两点之间的距离
- 第七周 项目1(2) (成员函数)
- 第七周 项目1(2) (友元函数)
- 第七周 项目1(2)(一般函数)
- 第七周项目一-一般函数(2)
- 第八周项目一 实现复数类中的运算符重载-(2)用友元函数实现(1)
- 第8周项目1(2)—用友元函数实现复数类运算符重载
- 第八周 项目一实现复数类的运算重载 符(友员函数)
- 第七周上机实践项目 项目1-成员函数,友元函数,和一般函数的区别(2)
- 第七周项目一-友元函数(3)
- 第七周项目一-成员函数(4)
- 项目1-成员函数,有员函数和一般函数的区别(1)
- 第七周项目2-友元类(2)
- java基础总结
- LeetCode 282. Expression Add Operators(表达式)
- 【bzoj3307】雨天的尾巴 线段树+树链剖分
- 这样的跳槽理由,会遭HR嫌弃!
- VC在屏幕中央画出窗口,并输出屏幕的长和宽
- 第七周项目(2)-用友员函数增加年月日(另一种方法)
- 如何:在不使用 ActiveSync 的情况下连接到 Windows CE 设备
- 第七周项目一成员函数 友元函数 一般函数有区别
- algrothm_different(数组+集合)
- 项目1——距离是一个点到另外一个点的距离
- Win64安装cx_Oracle过程
- Show me the code之Python练习册 Q4~7
- QT 多线程程序设计
- eclipse 如何用DDMS给Android设备截屏