#include<iostream>
#include<iomanip>
using namespace std;
class Time
{
public:
Time(int=0,int=0,int=0);
void show_time();
void add_seconds(int);
void add_minutes(int);
void add_hours(int);
static void change24();
static void changefrom0();
private:
static bool is_24;
static bool from0;
int hour;
int minute;
int sec;
};
Time::Time(int a,int b,int c)
{
hour=a;
minute=b;
sec=c;
{
Time::add_seconds(0);
Time::add_minutes(0);
Time::add_hours(0);
}
}
void Time::show_time()
{
if(is_24)
if(from0)
{
cout<<setfill('0')<<setw(2)<<hour<<':';
cout<<setfill('0')<<setw(2)<<minute<<':';
cout<<setfill('0')<<setw(2)<<sec;
}
else
{
cout<<hour<<':';
cout<<minute<<':';
cout<<sec;
}
else
{
if(from0)
{
if(hour>=12)
{
cout<<setfill('0')<<setw(2)<<hour-12<<':';
cout<<setfill('0')<<setw(2)<<minute<<':';
cout<<setfill('0')<<setw(2)<<sec<<" "<<"pm";
}
else
{
cout<<setfill('0')<<setw(2)<<hour<<':';
cout<<setfill('0')<<setw(2)<<minute<<':';
cout<<setfill('0')<<setw(2)<<sec<<" "<<"am";
}
}
else
{
if(hour>=12)
{
cout<<hour-12<<':';
cout<<minute<<':';
cout<<sec<<" "<<"pm";
}
else
{
cout<<hour<<':';
cout<<minute<<':';
cout<<sec<<" "<<"am";
}
}
}
cout<<endl;
}
void Time::add_hours(int a)
{
hour+=a;
hour%=24;
}
void Time::add_minutes(int a)
{
int b;
minute+=a;
b=minute/60;
minute%=60;
Time::add_hours(b);
}
void Time::add_seconds(int a)
{
int b;
sec+=a;
b=sec/60;
sec%=60;
Time::add_minutes(b);
}
void Time::change24()
{
is_24=(!is_24);
}
void Time::changefrom0()
{
from0=(!from0);
}
bool Time::is_24=true;
bool Time::from0=true;
int main()
{
Time a(10,56,16),b(20,16,56),c(25,61,89);
cout<<"24小时制,前导0"<<endl;
a.show_time();
b.show_time();
c.show_time();
cout<<"85分钟后"<<endl;
a.add_minutes(85);
b.add_minutes(85);
c.add_minutes(85);
Time::changefrom0();
cout<<"24小时制,不前导0"<<endl;
a.show_time();
b.show_time();
c.show_time();
Time::change24();
cout<<"12小时制,不前导0"<<endl;
a.show_time();
b.show_time();
c.show_time();
Time::changefrom0();
cout<<"12小时制,前导0"<<endl;
a.show_time();
b.show_time();
c.show_time();
return 0;
}
2015.4.8静态成员应有,时间类的转换
最新推荐文章于 2024-01-16 00:09:04 发布