第七周实验报告 任务一

来源:互联网 发布:linux 目录使用情况 编辑:程序博客网 时间:2024/06/07 12:14

源程序:

#include<iostream>#include<cmath>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;};//下面写出静态成员的初始化及各成员函数的定义bool Time::is_24 = true;bool Time::from0 = false;Time::Time(int h, int m, int s){hour = h;    minute = m;sec = s;}void Time::show_time( )//根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm{int h = (is_24)/* 意思是:如果is_24为true*/?hour:(hour % 12);//显示时if(from0 && h < 10)//意思是:如果from0为true,并且h < 10{cout << '0';}cout << h << ":";if(from0 && minute < 10)//显示分{cout << '0';}cout << minute << ":"; if(from0 && sec < 10){cout << '0';}cout << sec;if(!is_24)//如果is_24为假{if(hour > 12){cout << "pm";}else{cout << "am";}}cout << endl;//最后不要忘记换行···}void Time::add_seconds(int n) //增加n秒钟     {        sec += n;              if (sec > 59)           {            add_minutes(sec / 60);         sec %= 60;              }    }    void Time::add_minutes(int n) //增加n分钟     {        minute += n;      if (minute > 59)         {            add_hours(minute/60);    minute%=60;        }    }    void Time::add_hours(int n) //增加n小时     {        hour += n;        if (hour > 23) {        hour %= 24; }}    void Time::change24()//改变静态成员is_24,在12和24时制之间转换{if(is_24){is_24 = false;}else{is_24 = true;}}void Time::changefrom0()//改变静态成员from0,切换是否前导0{if(from0){from0 = false;}else{from0 = true;}}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;}


截图:

 

这个是刚刚做完的···也就是听完贺老的讲解后做得···本来应该先发自己做的的···结果忘记带u盘了···呵呵~回去发自己的。不过贺老这种方法真的好简练···佩服佩服···我自己在做的时候showtime()那地方简直将我绕晕了呢···好不容易才捣鼓明白···结果贺老原来有这么简单的方法···还带继续努力哈~

原创粉丝点击