电子时钟24小时制

#include<iostream>
#include<ctime>
#include<iomanip> 

using namespace std;

class Time{ 
	private: 
			int Hour; 
			int Minute; 
			int Second; 
	public: 
			//构造函数,设置初始时间为00:00:00; 
			Time(int h,int m,int s); 
			Time(); 
			//set类设置时间 
			void setHour(int h); 
			void setMinute(int m); 
			void setSecond(int s); 
			//get类访问时间
 			int getHour(); 
			int getMinute(); 
			int getSecond(); 
			//功能类
  			void displayTime24();//按24小时制显示时间 
  			void dida();//时间(按秒)增加 
};

//主函数 
int main()
{
	int hour,minute,second; 
	double nowTime; 
	cout << "请设置当前时间(以24小时制按顺序输入时 分 秒):" << endl; 
	cin >> hour >> minute >> second ; 
	cout << endl; 
	//定义time类对象CTime并初始化 
	Time CTime(hour,minute,second); 
	//更新时间 
	while(1)
	{ 
		//调用time函数库中time函数获取当前时间 
		nowTime = time(0); 
		//等待1秒 
		while(time(0) < (nowTime+1)); 
		CTime.dida(); 
		cout << "\r"; 
		//24小时制更新: 
		CTime.displayTime24(); 
		cout << "\t"; 
	} 
	return 0; 
}

//功能函数的实现:

Time::Time()
{
 setHour(0); 
 setMinute(0); 
 setSecond(0); 
}

Time::Time(int h,int m,int s)
{
 setHour(h); 
 setMinute(m); 
 setSecond(s); 
}

void Time::setHour(int h)
{
  if(h >= 0 && h < 24)
  Hour = h;
  else 
  Hour = 0; 
}

void Time::setMinute(int m)
{ 
  if(m >= 0 && m < 60)
  Minute = m; 
  else 
  Minute = 0; 
}

void Time::setSecond(int s)
{ 
  if(s >= 0 && s < 60)
  Second = s;
  else 
  Second = 0; 
}

int Time::getHour()
{ 
  return Hour; 
}

int Time::getMinute()
{
  return Minute;
}

int Time::getSecond()
{ 
  return Second; 
}
 
//24小时制 
void Time::displayTime24()
{
  cout << setfill('0') << setw(2) << getHour() << ':' << setw(2) << getMinute() <<  ':' << setw(2) << getSecond(); 
}

void Time::dida()
{ 
  setSecond((getSecond()+1)%60); 
  if(getSecond() == 0)
  { 
    setMinute((getMinute()+1)%60); 
	if(getMinute() == 0)
	{ 
	  setHour((getHour()%24)+1); 
	}
  } 
}

欢迎订阅专栏,数据结构实验,期末大作业,前端后端都有哦,想我发哪个方面的资源或文章可以私信我,免费的哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

然然超绝肌肉线条

你的鼓励将是创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值