时间类 1

<p> </p><div>/*
 *Copyright(c)2016,烟台大学计算机与控制工程学院
 *All rights reserved
 *文件名称:123.cpp
 *作    者:隋宗涛
 *完成日期:2016年5月8日
 *版 本 号:v1.0
 *
 *问题描述:请在原类基础上,在类内增加下列成员函数(将是内置成员函数),add_a_sec;add_a_minute();add_an_hour(),在main()数中,调用新增加的成员函数,以测试扩充后的功能</div><div> *输入描述:无
 *程序输出:
*/ </div><p> </p><pre class="cpp" name="code">#include <iostream>
using namespace std;
class Time
{
public:
    void set_time( );
    void show_time( );
    inline void add_a_second();
    inline void add_a_minute();
    inline void add_an_hour();
private:
    bool is_time(int, int, int);
    int hour;
    int minute;
    int second;
};
void Time::set_time( )
{
    char c1,c2;
    cout<<"请输入时间(格式hh:mm:ss)";
    while(1)
    {    cin>>hour>>c1>>minute>>c2>>second;
        if(c1!=':'||c2!=':')
            cout<<"格式不正确,请重新输入"<<endl;
        else if (!is_time(hour,minute,second))
            cout<<"时间非法,请重新输入"<<endl;
        else
            break;
    }
}
void Time::show_time( )
{
    cout<<hour<<":"<<minute<<":"<<second<<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;
}
inline void Time::add_a_second()
{
    ++second;
    if(second>59)
    {
        second=0;
        add_a_minute();
    }
}
inline void Time::add_a_minute()
{
    ++minute;
    if(minute>59)
    {
       minute=0;
       add_an_hour();
    }
}
inline void Time::add_an_hour()
{
    ++hour;
    if(hour>23)
        hour=0;
}
int main( )
{
    Time t1;
    Time &t2=t1;
    t1.set_time( );
    cout<<"现在时间是:";
    t2.show_time( );

    t1.add_a_second();
    cout<<"增加1秒钟后:";
    t1.show_time( );

    t1.add_a_minute();
    cout<<"增加1分钟后:";
    t1.show_time( );

    t1.add_an_hour();
    cout<<"增加1小时后:";
    t1.show_time( );
    return 0;
}

运行结果:

时间: 2024-10-10 17:50:38

时间类 1的相关文章

SimpleDateFormat关于时间类的一些常用处理

项目中经常会出现对时间类的一些处理,记录一下: 实例一:/** * 获取当前时间是星期几? * * @param args */ public static void main(String[] args) { SimpleDateFormat format = new SimpleDateFormat("E"); Date date = new Date(); String s = format.format(date); System.out.println("s:&qu

Problem E: 时间类的静态成员计数

Description 封装一个时间类Time,用于时间处理的相关功能,支持以下操作: 1. Time::Time()无参构造方法. 2. Time::Time(int,int,int)构造方法:传递时分秒的三个参数构造对象. 3. Time::Time(const T&)拷贝构造方法. 4. 对象整体读写方法: Time::setTime(int,int,int)方法:传递时分秒三个参数修改Time对象的时分秒数.该方法返回修改后的对象. Time::setTime(const T&)方

Problem A: 时间类的拷贝和整体读写

Description 封装一个时间类Time,用于时间处理的相关功能,支持以下操作: 1. Time::Time()无参构造方法. 2. Time::Time(int,int,int)构造方法:传递时分秒的三个参数构造对象. 3. Time::Time(const T&)拷贝构造方法.拷贝构造函数调用时输出"There was a call to the copy constructor : h,m,s","h,m,s"为所构造对象的时分秒数值,无需补0.

Java中六大时间类的使用和区别

关于java中六个时间类的使用和区别 java.util.Date java.sql.Date  java.sql.Time  java.sql.Timestamp java.text.SimpleDateFormat java.util.Calendar java.util.Date日期格式为:年月日时分秒 java.sql.Date日期格式为:年月日java.sql.Time日期格式为:时分秒 java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒) 从数据库中取出来的日期

Problem D: 时间类的12小时制输出

Description 封装一个时间类Time,用于时间处理的相关功能,支持24小时制和12小时制,支持以下操作: 1. Time::Time()无参构造方法. 2. Time::Time(int,int,int)构造方法:传递时分秒的三个参数构造对象. 3. Time::Time(const T&)拷贝构造方法. 4. 成员读函数: Time::hour()  :返回Time的小时数: Time::minute():返回Time的分钟数: Time::second():返回Time的秒数. 5

Problem B: 时间类的错误数据处理

Description 封装一个时间类Time,用于时间处理的相关功能,支持以下操作: 1. Time::Time()无参构造方法. 2. Time::Time(int,int,int)构造方法:传递时分秒的三个参数构造对象. 3. Time::Time(const T&)拷贝构造方法. 4. 成员读函数: Time::hour()  :返回Time的小时数: Time::minute():返回Time的分钟数: Time::second():返回Time的秒数. 5. 成员写函数: Time:

Problem C: 时间类的常量

Description 封装一个时间类Time,用于时间处理的相关功能,支持以下操作: 1. Time::Time()无参构造方法. 2. Time::Time(int,int,int)构造方法:传递时分秒的三个参数构造对象. 3. Time::Time(const T&)拷贝构造方法. 4. 成员读函数: Time::hour()  :返回Time的小时数: Time::minute():返回Time的分钟数: Time::second():返回Time的秒数. 5. 成员写函数: Time:

Python学习笔记(4):自定义时间类

Python的时间我实在无法接受,太难用了.我觉得C#的时间就非常完美,简单.好用.所以,自定义了自己的时间类: 用法: 一个小小的应用,我需要取出每天股市交易的分钟段,开始是这样的: 稍微改进一下,就变成这样了: 这才是Python的魅力之处!

时间类和日期类派生出时间日期类

今天再写一个多重继承的应用实例,时间类和日期类派生出时间日期类 程序代码 #include <iostream> using namespace std; class Date//日期类 { public: //构造函数 Date(int y = 0, int m = 0, int d = 0); //设置日期 void SetDate(int y,int m,int d); //打印日期 void PrintDate() { cout<<year<<"年&q

java时间类的使用

日期的使用: 1.创建日期 2.日期格式化显示 3.日期的转换 4.两个日期的大小比较.日期的加减   一些知识:       全球24个时区的瓜分       格林威治标准时间GMT 世界协调时间(世界标准时间)UTC       夏日节约时间DST       CST时间 CST却同时可以代表如下 4 个不同的时区: Central Standard Time (USA) UT-6:00 Central Standard Time (Australia) UT+9:30 China Stan