📄 新建 文本文档.txt
字号:
#include<iostream>
#include<conio.h>
#include<iomanip>//此头文件说明可以使用控制数据的输出格式,
//如设置数制、填充字符、精度、数据宽度等等,譬如使用setw()、
//setfill() 、setprecision()等
#include<Time.h>
using namespace std;
class Time
{
public:
Time(); //构造函数
Time(int,int,int); //有参构造函数
void displayTime(); //显示时间
void tick(); //模拟时钟转动
//获得时间
int getHour(); //获得时
int getMinute(); //获得分
int getSecond(); //获得秒
//设置时间
void setHour(int); //设置时
void setMinute(int); //设置分
void setSecond(int); //设置秒
private:
int hour;
int minute;
int second;
};
int main()
{
//存储当前时间
int hour;
int minute;
int second;
time_t currentTime;
cout<<"输入当前时:分:秒"<<endl;
cin>>hour>>minute>>second;
Time localTime(hour,minute,second); //建立对象,将参数传递给Time
cout<<endl;
localTime.displayTime();
for(; ;)
{
currentTime=time(0); //使用time函数获取当前时间
while(time(0)<(currentTime+1));
localTime.tick(); //每隔一秒更新
cout<<"\n";
localTime.displayTime(); //显示时间
if(_kbhit()) break;
//上面的判断是判断键盘是否被按下了(kbhit()函数的作用),如果被按下执行下面的语句,不按则继续执行其他操作,不等待键盘操作
}
return 0;
}
//.h函数定义部分
Time::Time(int hourval,int minuteval,int secondval)
{
setHour(hourval);
setMinute(minuteval);
setSecond(secondval);
}
int Time::getHour()
{return hour;}
int Time::getMinute()
{return minute;}
int Time::getSecond()
{return second;}
void Time::setHour(int hourval)
{
if(hourval>0&&hourval<24)
hour=hourval; //保证输入有效数据
else hour=0;
}
void Time::setMinute(int minuteval)
{
if(minuteval>=0&&minuteval<60) //保证输入有效数据
minute=minuteval;
else minute=0;
}
void Time::setSecond(int secondval)
{
if(secondval>=0&&secondval<60) //保证输入有效数据
second=secondval;
else second=0;
}
void Time::displayTime()
{
cout<<setfill('0')<<setw(2)<<getHour()<<":"
<<setw(2)<<getMinute()<<":"
<<setw(2)<<getSecond();
}
void Time::tick()
{
//一秒一秒的加
setSecond((getSecond()+1)%60);
if(getSecond()==0)
{
setMinute((getMinute()+1)%60);
if(getMinute()==0)
setHour((getHour()%12)+1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -