静态成员应用
来源:互联网 发布:宁波网络继续教育 编辑:程序博客网 时间:2024/06/10 04:17
#include <iostream>#include <cstdio>using namespace std;class Time{public: Time(int=0,int=0,int=0); void show_time( ); //根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm void add_seconds(int); //增加n秒钟 void add_minutes(int); //增加n分钟 void add_hours(int); //增加n小时 static void change24(); //改变静态成员is_24,在12和24时制之间转换 static void changefrom0(); //改变静态成员from0,切换是否前导0private: static bool is_24; //为true时,24小时制,如20:23:5;为flase,12小时制,显示为8:23:5 pm static bool from0; //为true时,前导0,8:23:5显示为08:23:05 int hour; int minute; int sec;};bool Time::is_24=true;bool Time::from0=true;Time::Time(int h,int m,int s){ hour=h; minute=m; sec=s;}void Time::show_time( )//根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm{ if(is_24) { if(from0) printf("%02d:%02d:%02d\n",hour,minute,sec); else cout<<hour<<":"<<minute<<":"<<sec<<endl; } else { if(hour>12&&hour<=24) { hour-=12; if(from0) printf("%02d:%02d:%02d pm\n",hour,minute,sec); else cout<<hour<<":"<<minute<<":"<<sec<<" pm"<<endl; } else { if(from0) printf("%02d:%02d:%02d am\n",hour,minute,sec); else cout<<hour<<":"<<minute<<":"<<sec<<" am"<<endl; } }}void Time::add_seconds(int n) //增加n秒钟{ sec+=n; if (sec>59) { add_minutes(sec/60);//增加sec/60分钟 sec%=60;//秒数应该是sec%=60 }}void Time::add_minutes(int n) //增加n分钟{ minute+=n; if (minute>59) { add_hours(minute/60); minute%=60; }}void Time::add_hours(int n)//增加n小时{ hour+=n; if (hour>23) hour%=24;}void Time::change24() //改变静态成员is_24,在12和24时制之间转换{ is_24=!is_24;}void Time::changefrom0() //改变静态成员from0,切换是否前导0{ from0=!from0;}int main(){ Time t1(19,49,43),t2(8,20,6); cout<<"t1的时间为:"; t1.show_time( ); t1.add_seconds(99); //增加n秒钟 cout<<"增加99秒后:"; t1.show_time( ); t1.add_minutes(66); //增加n分钟 cout<<"增加66分后:"; t1.show_time( ); t1.add_hours(3); //增加n小时 cout<<"增加3时后:"; t1.show_time( ); t1.change24(); cout<<"改变时制后:"; t1.show_time( ); t1.changefrom0(); cout<<"前导0后:"; t1.show_time( ); cout<<"t2的时间为:"; t2.show_time( ); t2.add_seconds(33); //增加n秒钟 cout<<"增加33秒后:"; t2.show_time( ); t2.add_minutes(22); //增加n分钟 cout<<"增加22分后:"; t2.show_time( ); t2.add_hours(11); //增加n小时 cout<<"增加11时后:"; t2.show_time( ); t2.change24(); cout<<"改变时制后:"; t2.show_time( ); t2.changefrom0(); cout<<"前导0后:"; t2.show_time( ); return 0;}
输出结果:
0 0
- 静态成员应用
- 静态成员应用
- 静态成员应用
- 静态成员应用
- 静态成员应用
- 静态数据成员应用
- 静态成员应用
- 静态成员应用
- 静态成员应用
- 静态成员应用
- 静态成员应用
- 静态成员应用
- 静态数据成员应用
- 静态成员应用
- 静态成员应用
- 静态成员应用 -时间
- 静态成员应用
- 静态成员应用
- 三字母词
- 通过vnc viewer连接64位ubuntu 14.02 LTS 云主机上
- 第五周项目4-静态成员应用
- hdu 2203 亲和串 KMP入门
- 第五周 课后实践:程序阅读(1)
- 静态成员应用
- 第五周阅读程序2:数组操作对象
- 状态值速查表
- 安装ECC EHP6 on Windows Server 2008
- git stash 学习
- 第五周项目三——用多文件组织多个类的程序
- HDU2393 Higher Math【几何】【水题】
- Contest1376 - "师创杯"烟台大学第二届ACM程序设计精英赛复现 A--A Repeating Characters
- android5.0编译问题:No rule to make target 'external/chromium_org/third_party/angle/.git/index',