第七周项目一

来源:互联网 发布:java split . 编辑:程序博客网 时间:2024/05/01 10:38
* /* Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved.* 作 者: 孙培培* 完成日期:2013 年 4月15日* 版 本 号:v1.0 * 输入描述:* 问题描述:*/

//【项目1-静态成员应用】设计含有静态数据成员和成员函数的Time类:静态数据成员类中所有的对象共有的数据#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;};//下面写出静态成员的初始化及各成员函数的定义……void Time::change24()  //改变静态成员is_24,在12和24时制之间转换{   is_24=!is_24;}void Time::changefrom0()  //改变静态成员from0,切换是否前导0{    from0=!from0;}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 i=(is_24)?hour:(hour%24);      if(from0 && i<10)          cout<<'0';      cout<<i<<':';      if(from0 && minute<10)          cout<<'0';      cout<<minute<<':';      if(from0 && sec<10)          cout<<'0';      cout<<sec;      if(!is_24)          if(hour>12)              cout<<"pm";          else cout<<"am";          cout<<endl; }void Time::add_seconds(int n)//增加n秒钟{cout<<"增加"<<n<<"秒钟后的时间为: ";sec+=n;if(sec>=60){add_minutes(sec/60);   //增加sec/60分钟sec%=60;                //秒数应该是sec%=60   }return;}void Time::add_minutes(int n) //增加n分钟  {cout<<"增加"<<n<<"分钟后的时间为: ";minute+=n;if(minute>=60){add_hours(minute/60);    //增加minute/60小时minute%=60;              //此时秒数应该是minute%=60}return;}void Time::add_hours(int n) //增加n小时{cout<<"增加"<<n<<"小时后的时间为: ";hour+=n;           //增加n小时if(hour>=24)           //此时小时数应该是hour%=24{hour%=24;      }return;}bool Time::is_24=true;bool Time::from0=false;int main( ) //运行结果如图所示{    Time t1(22,25,45),t2(9,10,55);cout<<"24进制,不前导0:"<<endl;cout<<"t1:";    t1.show_time();cout<<"t2:";t2.show_time();t1.add_hours(5);cout<<"t1:";    t1.show_time();cout<<"t2:";t2.show_time();    t2.add_hours(5);cout<<"t1:";    t1.show_time();cout<<"t2:";t2.show_time();    cout<<"五小时后切换是否前导0";    Time::changefrom0();cout<<"t1:";    t1.show_time();cout<<"t2:";t2.show_time();cout<<"更换时间显示格式后:"<<endl;    t1.change24();      t2.change24(); cout<<"t1:";    t1.show_time();cout<<"t2:";t2.show_time();t1.add_minutes(50);cout<<"t1:";    t1.show_time();    t2.add_seconds(60);cout<<"t2:";t2.show_time();return 0;   }

原创粉丝点击