您的位置:首页 > 编程语言 > C语言/C++

时间类-1

2016-05-24 21:41 435 查看
/*
*Copyright (c) 2015,烟台大学计算机学院
*All rights reserved.
*文件名称:text.cpp
*作者:汤善晔
*完成日期:2016年5月10日
*版本号:v1.0
*
*问题描述:设计时间类
*输入描述:输入小时,分钟,秒
*程序输出:输出时间

#include <iostream>  

#include<cstdlib>  

using namespace std;  

class Time  

{  

  public:  

      Time(int=0,int=0,int=0);  

      void show_time();  

      void add_seconds(int );  

      void add_minutes(int );  

      void add_hours(int );  

      static void change24();  

      static void changefrom0();  

  private:  

    static bool is_24;  

    static bool from0;  

    int hour;  

    int minute;  

    int sec;  

};  

 bool Time::is_24=true;  

 bool Time::from0=false;  

Time::Time(int _hour,int _minute,int _sec)  

{  

    hour=_hour;  

    minute=_minute;  

    sec=_sec;  

}  

void Time::show_time()  

{  

  

    int _hour;  

    if(is_24)  

      _hour=hour;  

    else  

     _hour=hour%12;  

    if (_hour<10&&from0) cout<<'0';  

    cout<<_hour<<':';  

    if(minute<10&&from0) cout<<'0';  

    cout<<minute<<':';  

    if(sec<10&&from0) cout<<'0';  

    cout<<sec;  

    if(!is_24)  

 

        if (hour>12)  

          cout<<" pm";  

        else  

          cout<<" am";  

    cout<<endl;  

}  

  

  

void Time::add_seconds(int n)  

{  

    sec=sec+n;  

    if(sec>=60)  

    {  

        sec=sec%60;  

        minute=minute+sec/60;  

        if(minute>=60)  

        {  

           minute=minute%60;  

           hour=hour+minute/60;  

        }  

        if(hour>=24)  

            hour=hour%24;  

   }  

}  

void Time::add_minutes(int n)  

{  

    minute=minute+n;  

      if(minute>=60)  

        {  

           minute=minute%60;  

           hour=hour+minute/60;  

        }  

        if(hour>=24)  

            hour=hour%24;  

  

}  

void Time::add_hours(int n)  

{  

    hour=hour+n;  

    if(hour>=24)  

            hour=hour%24;  

}  

void Time::change24()  

{  

    is_24=!is_24;  

}  

void Time::changefrom0()  

{  

    from0=!from0;  

}  

int main()  

{  

    Time t1(23,14,25),t2(8,45,6);  

    cout<<"24时制, 不前导:"<<endl;  

    cout<<"    t1是:";  

    t1.show_time();  

    cout<<"    t2是:";  

    t2.show_time();  

    t1.add_hours(10);  

    t2.add_hours(10);  

    Time::changefrom0();   

    cout<<"10小时后, 切换是否前导:"<<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;
}  

在基础的时间类上加入不同的计算方式 ,是让我们对所学知识的灵活运用,让我们更好的去认识这些基础的知识
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言