第七周项目训练2 友员类
来源:互联网 发布:wer机器人编程 编辑:程序博客网 时间:2024/05/17 01:10
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称 :
*作 者 : 王玙璠
*完成日期 : 2016年4月14号
*版 本 号 : v1.0
* /
*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
- 第七周项目训练2 友员类
- 第七周 oj训练2
- 第七周项目2
- 第七周项目2
- 第七周项目2
- 第七周项目2
- 第七周 项目2
- 第七周 【项目2
- 第七周项目2
- 第七周项目2
- 第七周项目2
- 第七周 项目2
- 第七周 项目2
- 第七周 【项目2
- 第七周 项目2
- 第七周-项目2
- 第七周 项目2
- 第七周【项目2
- 2001
- 7.【项目 1-成员函数、友元函数和一般函数有区别】
- springmvc 采用MultipartResolver进行文件上传
- 第三周项目:年龄几何
- 简单实现三级缓存加载图片机制
- 第七周项目训练2 友员类
- MySQL基础九:MySQL存储引擎
- algrothm_bata structure_base3
- 数据库中的命名规则
- STL常用容器总结——stack栈
- 递归和迭代的区别
- 项目经验分享--标签栏如何设置小图标
- Why and When Perceptron Halts?
- 崩溃后重新打开程序,fragment 重叠问题