题目内容:
设计一个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; }