Xây dựng một lớp Time
mô tả các thông tin về giờ, phút và giây.
Lớp Time
có các thành phần sau:
Các thuộc tính mô tả giờ, phút và giây
Hàm thiết lập có ba tham số giờ, phút và giây, được lấy giá trị ngầm định là 0
Hàm thành phần
set(int, int, int)
để xác lập thời gianHàm hiển thị giờ theo 24 tiếng
Hàm hiển thị giờ theo 12 tiếng (AM và PM)
Các hàm thành phần dùng để lấy giá trị và xác lập giá trị cho từng thành phần giờ, phút và giây
Lời giải
#include <iostream> #include <iomanip> using namespace std; class Time { private: int hour; int minute; int second; public: // Hàm khởi tạo (constructor) có tham số mặc định Time(int h = 0, int m = 0, int s = 0) { hour = (h >= 0 && h < 24) ? h : 0; minute = (m >= 0 && m < 60) ? m : 0; second = (s >= 0 && s < 60) ? s : 0; } // Hàm set để thiết lập lại giá trị thời gian void setTime(int h, int m, int s) { hour = (h >= 0 && h < 24) ? h : 0; minute = (m >= 0 && m < 60) ? m : 0; second = (s >= 0 && s < 60) ? s : 0; } // Các hàm get để lấy giá trị từng thành phần int getHour() const { return hour; } int getMinute() const { return minute; } int getSecond() const { return second; } // Các hàm set riêng từng thành phần void setHour(int h) { hour = (h >= 0 && h < 24) ? h : 0; } void setMinute(int m) { minute = (m >= 0 && m < 60) ? m : 0; } void setSecond(int s) { second = (s >= 0 && s < 60) ? s : 0; } // Hàm hiển thị theo 24 giờ void display24Hour() const { cout << setfill('0') << setw(2) << hour << ":" << setfill('0') << setw(2) << minute << ":" << setfill('0') << setw(2) << second << endl; } // Hàm hiển thị theo 12 giờ (AM/PM) void display12Hour() const { int displayHour = hour % 12; if (displayHour == 0) displayHour = 12; cout << setfill('0') << setw(2) << displayHour << ":" << setfill('0') << setw(2) << minute << ":" << setfill('0') << setw(2) << second << (hour < 12 ? " AM" : " PM") << endl; } }; int main() { Time t1; // Mặc định 00:00:00 cout << "Thoi gian mac dinh (24h): "; t1.display24Hour(); cout << "Thoi gian mac dinh (12h): "; t1.display12Hour(); Time t2(13, 45, 30); cout << "Thoi gian khoi tao (24h): "; t2.display24Hour(); cout << "Thoi gian khoi tao (12h): "; t2.display12Hour(); t2.setTime(23, 59, 59); cout << "Thoi gian sau setTime (24h): "; t2.display24Hour(); cout << "Thoi gian sau setTime (12h): "; t2.display12Hour(); return 0; }
Trích đề thi HUST