题目内容:
设计一个MyTime类,成员函数SetTime()设置时间,print_12()以12(0-11)小时制显示时间(AM上午,PM下午),print_24()以24(0-23)小时制显示时间。
输入格式:
所需设置时间的时、分、秒
输出格式:
按照12小时制和24小时制依次显示时间,注意时间格式中的冒号是英文冒号,时分秒都是两位,AM,PM前有一个空格,晚上12:00是00:00:00 AM,中午十二点是00:00:00 PM。
输入样例:
13 23 34
输出样例:
01:23:34 PM
13:23:34
#include<iostream>
using namespace std;
class MyTime
{
private:
int hour;
int minute;
int second;
public:
void SetTime(int,int,int);
void print_12();
void print_24();
};
void MyTime::SetTime(int h,int m,int s)
{
hour=h;
minute=m;
second=s;
}
void MyTime::print_12()
{
int hour_temp;
(hour - 12) >= 0 ? hour_temp = hour - 12 : hour_temp = hour;
if(hour-24>=0) hour_temp=hour-24;
if (hour_temp<10)
{
cout << '0';
}
cout << hour_temp << ':';
if (minute<10)
{
cout << '0';
}
cout << minute << ':';
if (second<10)
{
cout << '0';
}
cout << second << ' ';
if (hour>=12&&hour<24)
{
cout << "PM" << endl;
}
else
{
cout << "AM" << endl;
}
}
void MyTime::print_24()
{
if(hour>=24)
hour=hour-24;
if (hour < 10)
{
cout << '0';
}
cout << hour << ':';
if (minute < 10)
{
cout << '0';
}
cout << minute << ':';
if (second < 10)
{
cout << '0';
}
cout << second;
cout << endl;
}
int main()
{
MyTime time;
int h,m,s;
cin>>h>>m>>s;
time.SetTime(h,m,s);
time.print_12();
time.print_24();
return 0;
}