1 条题解

  • 0
    @ 2025-4-12 22:06:17

    C++ :

    #include<iostream>
    #include<iomanip>
    using namespace std;
    class  MyTime{
    public:
        MyTime();
        MyTime(int N_hour,int N_minute,int N_second);
        void SetTime(int S_hour,int S_minute,int S_second);
        void AddTime(int O_hour,int O_minute,int O_second);
        void MinusTime(int O_hour,int O_minute,int O_second);
        void ShowTime();
    private:
        int hour,minute,second;
    };
    
    MyTime::MyTime(){
        hour=0,minute=0,second=0;
    }
    MyTime::MyTime(int N_hour,int N_minute,int N_second){
        hour=N_hour,minute=N_minute,second=N_second;
    }
    void MyTime::SetTime(int S_hour,int S_minute,int S_second){
        hour=S_hour,minute=S_minute,second=S_second;
    }
    void MyTime::AddTime(int O_hour,int O_minute,int O_second){
        if ((second+=O_second)>59){
            second-=60;
            minute+=1;
        }
        if ((minute+=O_minute)>59){
            minute-=60;
            hour+=1;
        }
        if ((hour+=O_hour)>23){
            hour-=24;
        }
    }
    void MyTime::MinusTime(int O_hour,int O_minute,int O_second){
        if ((second-=O_second)<0){
            second+=60;
            minute-=1;
        }
        if ((minute-=O_minute)<0){
            minute+=60;
            hour-=1;
        }
        if ((hour-=O_hour)<0){
            hour+=24;
        }
    }
    void MyTime::ShowTime(){
        if(hour<12){
            cout<<setw(2)<<setfill('0')<<hour<<":"
                <<setw(2)<<setfill('0')<<minute<<":"
                <<setw(2)<<setfill('0')<<second<<" AM";
        }
        else{
            cout<<setw(2)<<setfill('0')<<hour-12<<":"
                <<setw(2)<<setfill('0')<<minute<<":"
                <<setw(2)<<setfill('0')<<second<<" PM";
        }
        cout<<endl;
        cout<<setw(2)<<setfill('0')<<hour<<":"
            <<setw(2)<<setfill('0')<<minute<<":"
            <<setw(2)<<setfill('0')<<second;
    }
    
    int main(){
        int hour,minute,second,O_hour,O_minute,O_second;
        MyTime T1,T2(8,10,30);
        cin>>hour>>minute>>second;
    	cin>>O_hour>>O_minute>>O_second;
        T1.ShowTime();
    	cout<<endl;    
        T2.ShowTime();
        cout<<endl;
        T1.SetTime(hour,minute,second);
        T1.AddTime(O_hour,O_minute,O_second);
        T2.MinusTime(O_hour,O_minute,O_second);
        T1.ShowTime();  
    	cout<<endl;  
        T2.ShowTime();
        return 0;
    }
    
    • 1

    C++作业4-3:设计一个多功能的MyTime类(分值很大)

    信息

    ID
    2865
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者