第七周上機任務項目1-靜態成員應用

來源:互聯網
上載者:User
01./*      02.* 程式的著作權和版本聲明部分      03.* Copyright (c)2013, 煙台大學電腦學院學生      04.* All rightsreserved.      05.* 檔案名稱:time .cpp                                 06.* 作    者:趙冠哲                                  07.* 完成日期:2013年4月12日      08.* 版本號碼: v1.0            09.* 輸入描述:      10.* 問題描述:    11.*/ #include <iostream>using namespace std;class Time{public:Time(int=0,int=0,int=0);void show_time( ); //根據is_24和from0,輸出適合形式-20:23:5/8:23:5 pm/08:23:05 pmvoid add_seconds(int); //增加n秒鐘void add_minutes(int); //增加n分鐘  void add_hours(int); //增加n小時  static void change24();  //改變靜態成員is_24,在12和24時制之間轉換static void changefrom0();   //改變靜態成員from0,切換是否前置0private:static bool is_24; //為true時,24小時制,如20:23:5;為flase,12小時制,顯示為8:23:5 pm static bool from0; //為true時,前置0,8:23:5顯示為08:23:05int hour;int minute;int sec;};Time::Time(int h,int m,int s){    hour=h,minute=m,sec=s;}bool Time::is_24=true;bool Time::from0=false;void Time::show_time(){    if(is_24)    {        if(from0)        {cout <<(hour<10?"0":"")<<hour<<':'<<(minute<10?"0":"")<<minute<<':'<<(sec<10?"0":"")<<sec<< endl;          }        else        {            cout<<hour<<":"<<minute<<":"<<sec<<endl;           }    }    else    {        if(from0)        {cout<<(hour<10||(hour-12>=0&&hour-12<10)?"0":"")<<(hour>12?hour-12:hour)<<':'<<(minute<10?"0":"")<<minute<<':'<<(sec<10?"0":"")<<sec<<' '<<(hour>11?"pm":"am")<<endl;          }  else          {  cout <<(hour>12?hour-12:hour)<<':'<<minute<<':'<<sec<<' '<<(hour>11?"pm":"am")<<endl;          }      }  }  void Time::add_seconds(int s){    s=s+sec;    sec=s%60;    add_minutes(s/60);}void Time::add_minutes(int m){    m=m+minute;    minute=m&60;    add_hours(m/60);}void Time::add_hours(int h){    h=hour+h;    hour=h%24;}void Time::change24(){    is_24=!is_24;    if(is_24)cout<<"已經切換24小時制"<<endl;    else        cout<<"已經切換12小時制"<<endl;}void Time::changefrom0(){    from0=!from0;    if(from0)        cout<<"已經切換前置0輸出"<<endl;    else        cout<<"已經切換未前置0輸出"<<endl;}int main(){    Time t1(23,44,42),t2(4,45,9);    cout<<"24小時制,不前置0"<<endl;    cout<<"     t1是";    t1.show_time();    cout<<"     t2是";    t2.show_time();t1.add_hours(10);t2.add_hours(10);Time::changefrom0();cout<<"10小時後,切換前置0"<<endl;    cout<<"     t1是";    t1.show_time();    cout<<"     t2是";    t2.show_time();    t1.change24();    cout<<"換一種制式"<<endl;cout<<"     t1是";    t1.show_time();    cout<<"     t2是";    t2.show_time();    return 0;}

運行結果:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.