- </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;
- }
- else
- cout<<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;
- }
c++第二次作业
最新推荐文章于 2022-06-14 11:53:07 发布