第三周任务3

本文介绍了一个使用C++实现的时间类,包括设置时间、增加秒、分钟和小时的方法,以及显示时间的功能。通过输入特定格式的时间字符串,程序能够正确解析并允许用户动态调整时间。
 
#include <iostream>
using namespace std; 
class Time
{
public:
	void set_time();//因为直接输入,所以不用类型
	void show_time();//因为直接输入,所以不用类型
	inline void add_n_sec(int n);
	inline void add_n_minute(int n);
   inline void add_n_hour(int n);

private:
	bool is_time(int,int,int);//因为要承接上两个函数中的数据,所以要有类型
	int hour;
	int minute;
	int sec;
//	int n;
};
Time t1;
int main()
{ 
	int n;
	
	//Time &t2=t1;
	t1.set_time();
	cout<<"请输入n值";
	cin>>n;
	t1.add_n_sec(n);//必须有n
    cout<<"请输入n值";
	cin>>n;
    t1.add_n_minute(n);//必须有n
    cout<<"请输入n值";
	cin>>n;
    t1.add_n_hour(n);//必须有n
	t1.show_time();
	return 0;
}
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;
	}
}
inline void Time::add_n_sec(int n)
{
	sec=sec+n;
	if(sec>60||sec==60)
	{
		sec=sec-60;
		minute=minute+1;
	}



}
inline void Time::add_n_minute(int n)
{    
	minute=minute+n;
	/*if(sec==60||sec>60)
	{
		minute=minute+1;
	}*/
    if(minute>60||minute>60)
	{
		minute=minute-60;
		hour=hour+1;
	}

}


inline void Time::add_n_hour(int n)
{   
	hour=hour+n;
	if(hour>24)
	{
		for(int i=1;hour>24;i++)
		{
			hour=hour-24;
		}
	}

}

 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 0;
	}
	else 
		return true;
}





评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值