C++第三次实验

来源:互联网 发布:邯郸市网络教研 编辑:程序博客网 时间:2024/05/17 22:39
</pre><pre name="code" class="cpp">#include<iostream>using namespace std;class Time{private:    bool is_time(int ,int ,int );    int hour;int minute;int sec;public:void set_time();    void show_time();    void add_seconds();    void add_minutes();    void add_hours();    void change24();    void changefrom0();};void Time::change24(){if(hour>12&&hour<=24){hour-=12;show_time();cout<<"\tpm";}else{show_time();cout<<"\tam";}}void Time::set_time( )   {      char c1,c2;    while(1)      {   cin>>hour>>c1>>minute>>c2>>sec;          if(c1!=':'||c2!=':')              cout<<"格式不正确,请重新输入"<<endl;          else if (!is_time(hour,minute,sec))              cout<<"时间非法,请重新输入"<<endl;          else               break;      }  }  void Time::show_time(){if(1){if(hour<10)cout<<"0";cout<<hour<<":";if(minute<10)cout<<"0";cout<<minute<<":";if(sec<10)cout<<"0";cout<<sec;}elsecout<<hour<<":"<<minute<<":"<<sec<<endl;}bool Time::is_time(int h,int m, int s)  {      if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)          return false;      return true;  }  void Time::add_seconds(){    int s;    cout<<"\n请输入增加的秒数\ts=";cin>>s;    sec+=s;    if(sec>59)    {        minute+=sec/60;        if(minute>59)        {            hour+=minute/60;            if(hour>23)                hour=hour%24;            minute=minute%60;        }        sec=sec%60;    }cout<<"增加后的时间为:";show_time();}void Time::add_minutes(){    int m;    cout<<"\n请输入增加的分数\tm=";cin>>m;    minute+=m;    if(minute>59)    {        hour+=minute/60;        if(hour>23)            hour=hour%24;        minute=minute%60;    }cout<<"增加后的时间为:";show_time();}void Time::add_hours(){    int h;    cout<<"\n请输入增加的时数\th=";cin>>h;    hour+=h;    if(hour>23)        hour=hour%24;cout<<"\n增加后的时间为:";show_time();}int main(){    Time t1,t2;cout<<"24时制,不前导:\nt1是:";    t1.set_time();cout<<"t2是:";t2.set_time();cout<<"切换是否前导后\nt1是:";t1.show_time();cout<<"\nt2是:";t2.show_time();cout<<"\n切换另一种时制后\nt1是:";t1.change24();cout<<"\nt2是:";t2.change24();cout<<"\nt1进行以下操作:\n";t1.add_seconds();t1.add_minutes();t1.add_hours();cout<<"\nt2进行以下操作:\n";t2.add_seconds();t2.add_minutes();t2.add_hours();    return 0;}


0 0