时间推算

这篇博客探讨了时间推算的过程,指出在特定的内置函数中,增加时间单位如秒、分钟、小时无需额外传参,因为这些函数会默认进行计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称:score.cpp                           
* 作    者:   刘元龙                         
* 完成日期: 2013 年 03 月  16 日
* 版本号: v1.0      
* 输入描述:在原来基础上加上一段时间计算现在的时间为多少
* 问题描述:时间的推移
* 输出:加上一段时间后的时间点为多少
*/
#include <iostream>
using namespace std;
class Time
{
public:
	void set_time();//时间输入   
	void show_time(); //时间的输出 
	void add_a_sec();//增加一秒钟
	void add_a_minute();//增加一分钟
	void add_an_hour();//增加一小时
	void add_seconds(int);//增加n秒钟
	void add_minutes(int);//增加n分钟
	void add_hours(int);//增加n小时
private: 
	bool is_time(int, int, int);
	int hour;
	int minute;
	int sec;
};

void Time::set_time( ) 
{	char c1,c2;
	cout<<"请输入时间(格式hh:mm:ss)";
	while(1)//判断时间是否合理
	{	cin>>hour>>c1>>minute>>c2>>sec;
		if(c1!=':'||c2!=':')
			cout<<"格式不正确,请重新输入"<<endl;
		else if (!is_time(hour,minute,sec))
			cout<<"时间非法,请重新输入"<<endl;
		else 
			break;
	}
}

void Time::show_time( )
{	cout<<hour<<":"<<minute<<":"<<sec<<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;
}


void Time::add_a_sec()//增加一秒钟
{
  ++sec;
  if(sec>59)
   add_a_minute;
}

void Time::add_a_minute()//增加一分钟
{
  ++minute;
  if(minute>59)
  add_an_hour;
}

void Time::add_an_hour()//增加一小时
{
 ++hour;
 if(hour>24)
	 hour=0;//加一小时以后就是第二天了
}


void Time::add_seconds(int n)//增加n秒钟
{
 hour=hour+n;
 if(hour>59)
	 add_minutes(hour/60);
     hour=hour%60;
}
  
void Time::add_minutes(int n)//增加n分钟
{
   minute+=n;
   if(minute>59)
   add_hours(minute/60);
   minute=minute%60;
} 
void Time::add_hours(int n)//增加n小时
{
     hour+=n;
     if(hour>24)
	 hour%=24;
}
int main( )
{	Time t1;  
	Time &t2=t1;
	t1.set_time( );   
	cout<<"现在的时间为:";
	t2.show_time( );
	cout<<endl;

	t1.add_a_sec();//增加一秒钟
	cout<<"增加一秒后时间为:";
	t1.show_time();
	cout<<endl; //时间的输出
	
	t1.add_a_minute();//增加一分钟
	cout<<"增加一分后时间为:";
    t1.show_time();
	cout<<endl;

    t1.add_an_hour();//增加一小时
	cout<<"增加一个小时后时间为:";
	t1.show_time();
	cout<<endl;

    t1.add_seconds(28);//增加n秒钟
	cout<<"增加28秒后时间为:";
    t1.show_time();
	cout<<endl;

	t1.add_minutes(77);//增加n分钟
	cout<<"增加77分钟时间为:";
    t1.show_time();
	cout<<endl;

	t1.add_hours(2);//增加n小时
	cout<<"增加2小时候时间为:";
	t1.show_time();
	cout<<endl;
	return 0;
}


 

 

运行结果:

心得体会:

增加一分,一秒,一小时,不用往里面传参数,因为在内置函数里面默认加上了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值