第七周实验报告(1)

来源:互联网 发布:dnf驱魔技能改版数据 编辑:程序博客网 时间:2024/06/05 07:19

 

#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 pm   void 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,切换是否前导0   private:  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:05   int 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;  int main( )     {  Time t1(23,14,25),t2(8,45,6);   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();  system("pause");  return 0;  }  //下面写出静态成员的初始化及各成员函数的定义   void Time::show_time( ) {  if(is_24==false && from0==false)  {  if(hour>12)  {  hour=hour%12;  cout<<hour<<":"<<minute<<":"<<sec<<" pm"<<endl;    }  else  {  cout<<hour<<":"<<minute<<":"<<sec<<endl;    }  }  if(is_24==true && from0==true)  {  if(hour<10)cout<<"0"<<hour<<":"<<minute<<":"<<sec<<endl;   elsecout<<hour<<":"<<minute<<":"<<sec<<endl;   }  if(is_24==false && from0==true)  {  if(hour>12)cout<<"0"<<hour%12<<":"<<minute<<":"<<sec<<" pm"<<endl;else if(hour<12&&hour>=10)cout<<hour%12<<":"<<minute<<":"<<sec<<" am"<<endl;else if(hour<10)cout<<"0"<<hour<<":"<<minute<<":"<<sec<<" am"<<endl;}  if(is_24==true && from0==false )  {  cout<<hour<<":"<<minute<<":"<<sec<<endl;    }  }  void Time::add_hours(int h)     {  hour=hour+h;    if (hour>23)    hour%=24;  }  void Time::changefrom0()  {  from0=true;  }  void Time::change24()  {  is_24=false;  }  void Time::add_seconds(int s) {  sec=sec+s;         if (sec>59)        {    add_minutes(sec/60);   sec%=60;                   }    }  void Time::add_minutes(int m)    {  minute=minute+m;    if (minute>59)          {    add_hours(minute/60);    minute%=60;    }    }  


 

 

 

 

 

1

原创粉丝点击