首页 > 其他分享 >增加一个成员函数,计算加n秒的时间

增加一个成员函数,计算加n秒的时间

时间:2023-04-20 23:55:21浏览次数:49  
标签:25 Set 函数 23 int 成员 t1 计算 zhouqi

设置Cmytime类。

具有三个成员函数

Show()

int Set(int h,int m,int s)

对于Set函数的要求,

     1、对于非法赋值不给予执行,三个参数合法范围是:0<=h<=23,  0<=m,s<=59。 如何参数非法,本次Set函数不改变原有值。

    2、赋值成功,返回1,否则返回0。

void  AddOneSecond();

实现在原时间的基础上加1秒的时间值。

int  AddNSeconds(int n);

实现在原时间的基础上加n秒的时间值。返回值要求,如果加的n秒数,返回时间跨越了0:0:0的次数,换句话说反映了日期上进几天。

输入  23  25 38

输出:  

23:25:38

0

23:25:38

23:25:39

2

#include<iostream>
using namespace std;
class Cmytime
{
private://内部属性 
    int hour,minute,second,min_zhouqi,hour_zhouqi,day_zhouqi; 
public://对外接口 
    int Set(int h,int m,int s)
    {
        if(((h>=0)&&(h<=23))&&(m>=0)&&(s<=59))
        {
            hour=h;
            minute=m;
            second=s;
            return 1; 
        }
        else
        {
            return 0;
        }
    }
    void AddOneSecond()
    {
        second+=1;
        second%=60;
    }
    int AddNSeconds(int n)
    {
        second+=n;//加上秒数 
        min_zhouqi=second/60;//分钟需前进轮次 
        second%=60;//当前秒数 
        minute+=min_zhouqi;//加上分钟 
        hour_zhouqi=minute/60;//小时需前进轮次
        minute%=60;//当前分钟 
        hour+=hour_zhouqi;//加上小时 
        day_zhouqi=hour/24;//天数徐前进轮次
        hour%=24;//当前小时 
        return day_zhouqi;//返回天数徐前进轮次
    }
    void Show()
    {
        cout << hour << ":" << minute << ":" << second;
    }
};
//StudybarCommentBegin
int main(void) {
    int h,m,s;
   cin>>h>>m>>s;

   Cmytime t1;
   t1.Set(h,m,s);
   t1.Show();
   cout<<endl<<t1.Set(24,0,0)<<"\n";
   t1.Show();

   t1.AddNSeconds(1);
   cout<<endl;
   t1.Show();
   cout<<endl<<t1.AddNSeconds(3600*25);
  
    return 0;
}

//StudybarCommentEnd

-END

标签:25,Set,函数,23,int,成员,t1,计算,zhouqi
From: https://www.cnblogs.com/peitongshi/p/17338838.html

相关文章

  • 增加一个成员函数,计算加一秒的时间
    设置Cmytime类。具有三个成员函数Show()int Set(inth,intm,ints)对于Set函数的要求,   1、对于非法赋值不给予执行,三个参数合法范围是:0<=h<=23, 0<=m,s<=59。如何参数非法,本次Set函数不改变原有值。  2、赋值成功,返回1,否则返回0。void AddOneSecond();实......
  • oracle数字类函数
    Oracle数据库中所有的数字类函数:ABS:返回指定数值的绝对值ACOS:返回指定角度的反余弦值ASIN:返回指定角度的反正弦值ATAN:返回指定数字的反正切值ATAN2:返回两个数值的反正切值CEIL:返回大于或等于指定数字的最小整数(向上取整)COS:返回指定角度的余弦值COSH:返回......
  • oracle字符类函数
    Oracle数据库中所有的字符类函数:ASCII:返回某个字符的ASCII码值ASCIISTR:返回字符的ASCII码值的字符串表示CHR:返回指定ASCII码对应的字符CONCAT:连接两个字符串CONVERT:将一个字符集转换成另一个字符集INITCAP:将字符串每个单词首字母大写INSTR:返回字符串中子串的......
  • oracle日期和时间类函数
    Oracle中所有的日期和时间类函数:SYSDATE:返回当前日期和时间CURRENT_DATE:返回当前日期CURRENT_TIMESTAMP:返回当前的日期和时间戳LOCALTIMESTAMP:返回当前时间戳TIMESTAMPADD:在日期上增加一定的数量TIMESTAMPDIFF:计算两个日期之间的时间差EXTRACT:从日期时间......
  • CS144 计算机网络 Lab1:Stream Reassembler
    前言上一篇博客中我们完成了Lab0,使用双端队列实现了一个字节流类ByteStream,可以向字节流中写入数据并按写入顺序读出数据。由于网络环境的变化,发送端滑动窗口内的数据包到达接收端时可能失序,所以接收端收到数据之后不能直接写入ByteStream中,而是应该缓存下来并按照序号重组成......
  • 利用泰勒公式计算余弦值
    #include<bits/stdc++.h>usingnamespacestd;doublefact(inta)//计算n的阶乘 {doublet=1.0; inti; for(i=1;i<=a;i++)t=t*i; returnt; }doublemi(intb,doubleangle)//计算x的n次方 { intj=1; doublex=angle; for(j=1;j<b;j++......
  • 并行计算部分总结
    1。计算机的峰值为主频x4。2。计算机读取数组时,一次会读入一行,要最大限度的利用已读入的数据,减少频繁读写的次数。3。多线程内存共享,多进程需要消息传递来交换变量。4。利用管道在不同程序之间传递内容(可以是管道符|或mkfifomypipe)5。平均不同节点的计算量,尽量做到负载平衡。6......
  • Django笔记二十六之数据库函数之数学公式函数
    本文首发于公众号:Hunter后端原文链接:Django笔记二十六之数据库函数之数学公式函数这一篇来介绍一下公式函数,主要是数学公式。其中sin,cos这种大多数情况下用不上的就不介绍了,主要介绍下面几种:Abs()绝对值Ceil()向上取整Floor()向下取整Mod()取余Power()乘方Roun......
  • Java Long对象对比,用equals函数
    文章目录一、前文二、调试三、后记一、前文同事问我一个问题,我咋一看也愣住了代码:if(ObjectUtil.isNotNull(temp.getUserId())&&temp.getUserId()!=SecurityUtils.getUserId()){logger.error(temp.toString());logger.error("SecurityUtils.getUserId()="+Secur......
  • Hive 修改计算引擎方法
    前置说明各位应该清楚,hive默认计算引擎是mr,当集群配置了hive-ob-spark后可以根据需要自行切换计算引擎其它计算引擎切换为mapreducesethive.execution.engine=mr;其它计算引擎切换为sparksethive.execution.engine=spark;说明:如果一个诸如shell脚本里封装了几段......