C++实验3-3
来源:互联网 发布:matlab已知数据画图 编辑:程序博客网 时间:2024/05/05 23:26
一、问题及代码
#include<iostream.h>class Date; //对Date类的提前引用声明class Time{public: Time(int,int,int); void add_a_second(Date &d); //增加1秒,1秒后可能会到了下一天,乃到下一月、下一年 void display(Date &d); //显示时间,格式:月/日/年 时:分:秒private: int hour; int minute; int sec;};class Date{public: Date(int,int,int); friend class Time; //Time为Date的友元类private: int month; int day; int year;};Time::Time(int h,int m,int s){ hour=h; minute=m; sec=s;}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); //测试时,再试试Date d1(2,28,2013)会如何 for(int i=0; i<=100; i++) { t1.add_a_second(d1); t1.display(d1); } return 0;}//下面定义两个类中的成员函数,要求不得再增加成员函数//注意体会在Time的成员函数中可以调用Date类的私有数据成员 void Time::add_a_second(Date &d){sec=sec+1; if(sec==60){sec=0;minute=minute+1;} if(minute==60){minute=0;hour=hour+1;} if(hour==24) {hour=0;d.day+=1;} if(d.month==1||d.month==3||d.month==5||d.month==7||d.month==8||d.month==10||d.month==12) { if(d.day==32) { d.day=1; d.month+=1; } if(d.month==13) { d.month=1; d.year+=1; } } if(d.month==4||d.month==6||d.month==9||d.month==11) { if(d.day==31) { d.day=1; d.month+=1; } } if(d.month==2) { if(d.year/4==0&&d.year/100!=0||d.year/400==0) { if(d.day==30) { d.day=1; d.month+=1; } } else { if(d.day==29) { d.day=1; d.month+=1; } } }}void Time::display(Date &d){cout<<d.year<<"/"<<d.month<<"/"<<d.day<<" "<<hour<<":"<<minute<<":"<<sec<<endl;}
二、运行结果
三、心得体会
程序很难,在别人的帮助下完成
四、知识点总结
增加一秒有可能会到了下一天,乃到下一月、下一年,而且有二月分为闰年和不润,应熟练掌握。主要实现Time的成员函数中可以调用Date类的私有数据成员 。
0 0
- C#-实验3
- 实验3
- 实验3
- 实验3
- 实验3
- 实验3
- 实验3
- 实验3
- 实验3
- C#--第七周实验--任务3--编写一个控制台应用实验Math类
- 接口与实验:实验3
- C语言2011年3月 实验题
- 实验1-3 C程序的执行顺序
- 【pta】实验1-3 Programming in C is fun!
- Linux C语言编程(3)——文件系统实验
- 3_使用C语言控制LED灯实验
- 上机实验3种排序实验8
- C++实验2-剩下3个实验
- Java层Binder使用(ServiceManager)
- linux之间互传文件(ubuntu为例)
- iOS 多线程简单使用的详解
- 动效-APP设计的肢体语言
- FreeMarker教程
- C++实验3-3
- [后缀数组 set] BZOJ 4516 [Sdoi2016]生成魔咒
- 解析ANDROID ps命令执行后各项参数的含义
- 避免同一activity下 多个fragment 切换时重复执行onCreateView方法
- 4.21日开始JAVA
- Win7虚拟无线AP以及Android手机抓包
- 20常用正则表达式
- 如何理解UX 设计中的功能动效
- 从APp跳设置界面