关于#c++#的问题,请各位专家解答!

定义时间类Time,包括私有成员变量hour(int)、minute(int)、second(int);
成员两数set_time(int h,int m,ints)将读入的3个整数规范化后给3个成员变量赋值,使得
second满60向minute进1,并规范化至[0,59]:minute满60向hour进1,并规范化至[0,59];hour 满24则规范化至[0,23]:
成员两数show_time(ofstream &output)读取3个成员变量,格式化为80:00:00形式后,输出到文件中:

该回答引用chatgpt
C++代码如下:

#include <iostream>
#include <fstream>
using namespace std;

class Time {
private:
    int hour;
    int minute;
    int second;

public:
    void set_time(int h, int m, int s) {
        hour = h;
        minute = m;
        second = s;

        // 规范化时间
        while (second >= 60) {
            second -= 60;
            minute++;
        }
        while (minute >= 60) {
            minute -= 60;
            hour++;
        }
        while (hour >= 24) {
            hour -= 24;
        }
    }

    void show_time(ofstream &output) {
        // 格式化输出到文件中
        output << ((hour < 10) ? "0" : "") << hour << ":";
        output << ((minute < 10) ? "0" : "") << minute << ":";
        output << ((second < 10) ? "0" : "") << second << endl;
    }
};

int main() {
    Time t;
    int h, m, s;
    cout << "请输入时间:" << endl;
    cin >> h >> m >> s;

    t.set_time(h, m, s);
    ofstream output("output.txt");
    t.show_time(output);
    output.close();

    cout << "已输出到文件output.txt中" << endl;

    return 0;
}