#include<iostream>
#include<string>
#include<iomanip>
#include<stdexcept>
using namespace std;
class Time
{
private:
int h,m,s;
public:
Time(int hour=0,int minute=0,int second=0);
void settime(const int hour,const int minute,const int second);
void displaytime24();
void displaytime12();
};
Time::Time(int hour,int minute,int second)
:h(hour),m(minute),s(second){}
void Time::settime(const int hour,const int minute,const int second)
{
h=hour;
m=minute;
s=second;
if(h<0 || h>23)
{
throw runtime_error("hourout");
}
}
void Time::displaytime24()
{
cout<<h<<":"<<m<<":"<<s<<endl;
}
void Time::displaytime12()
{
int g,t;
if(h>12 && h<24)
{
t=1;
}
else
{
t=0;
}
if((1) || h==24 )
{
g=h-12;
cout<<g<<":"<<m<<":"<<s;
}
else
cout<<h<<":"<<m<<":"<<s;
if( (1) || h==12)
cout<<" PM"<<endl;
else
cout<<" AM"<<endl;
}
int main()
{
int h;
try {
cout<<"hour: ";
cin>>h;
}
catch(exception &e)
{
cout<<"Exceptions: "<<e.what()<<endl;
}
Time T(21,22,11);
T.displaytime24();
T.displaytime12();
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0cmluZz4KI2luY2x1ZGU8aW9tYW5pcD4KI2luY2x1ZGU8c3RkZXhjZXB0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBUaW1lCnsKcHJpdmF0ZToKICAgIGludCBoLG0sczsKcHVibGljOgogICAgVGltZShpbnQgaG91cj0wLGludCBtaW51dGU9MCxpbnQgc2Vjb25kPTApOwogICAgdm9pZCBzZXR0aW1lKGNvbnN0IGludCBob3VyLGNvbnN0IGludCBtaW51dGUsY29uc3QgaW50IHNlY29uZCk7CiAgICB2b2lkIGRpc3BsYXl0aW1lMjQoKTsKICAgIHZvaWQgZGlzcGxheXRpbWUxMigpOwp9OwpUaW1lOjpUaW1lKGludCBob3VyLGludCBtaW51dGUsaW50IHNlY29uZCkKOmgoaG91ciksbShtaW51dGUpLHMoc2Vjb25kKXt9Cgp2b2lkIFRpbWU6OnNldHRpbWUoY29uc3QgaW50IGhvdXIsY29uc3QgaW50IG1pbnV0ZSxjb25zdCBpbnQgc2Vjb25kKQp7CgogICAgaD1ob3VyOwogICAgbT1taW51dGU7CiAgICBzPXNlY29uZDsKICAgIGlmKGg8MCB8fCBoPjIzKQogICAgICAgewogICAgICAgICAgIAogICAgICAgIHRocm93IHJ1bnRpbWVfZXJyb3IoImhvdXJvdXQiKTsKICAgIH0KCn0Kdm9pZCBUaW1lOjpkaXNwbGF5dGltZTI0KCkKewogICAgY291dDw8aDw8IjoiPDxtPDwiOiI8PHM8PGVuZGw7Cn0Kdm9pZCBUaW1lOjpkaXNwbGF5dGltZTEyKCkKewogICAgaW50IGcsdDsKICAgIGlmKGg+MTIgJiYgaDwyNCkKICAgIHsKICAgICAgICB0PTE7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgdD0wOwogICAgfQogICAgCiAgICBpZigoMSkgfHwgaD09MjQgKQogICAgewogICAgICAgIGc9aC0xMjsKICAgICAgICBjb3V0PDxnPDwiOiI8PG08PCI6Ijw8czsKICAgIH0KICAgIGVsc2UKICAgICAgICBjb3V0PDxoPDwiOiI8PG08PCI6Ijw8czsKICAgIAogICAgaWYoICgxKSB8fCBoPT0xMikKICAgICAgICBjb3V0PDwiIFBNIjw8ZW5kbDsKICAgIGVsc2UKICAgICAgICBjb3V0PDwiIEFNIjw8ZW5kbDsKfQppbnQgbWFpbigpCnsKICAgIGludCBoOwogICAgdHJ5IHsKICAgICAgICBjb3V0PDwiaG91cjogIjsKICAgICAgICBjaW4+Pmg7CiAgICB9CiAgICBjYXRjaChleGNlcHRpb24gJmUpCiAgICB7CiAgICAgICAgY291dDw8IkV4Y2VwdGlvbnM6ICI8PGUud2hhdCgpPDxlbmRsOwogICAgfQogICAgVGltZSBUKDIxLDIyLDExKTsKICAgIFQuZGlzcGxheXRpbWUyNCgpOwogICAgVC5kaXNwbGF5dGltZTEyKCk7Cn0K