可以自己手动设置时间的初始值
附带几张效果图
#include <iostream>
#include <unistd.h>
#include <iomanip>//I/O流控制
using namespace std;
class Clock
{
public:
Clock(){}
void SetTime();//设置时间
void RunClock();//运行
void ShowTime();//显示
private:
int m_hour;
int m_minute;
int m_second;
};
void Clock::SetTime()
{
cout << "input time:" << '\n'
<< "时 " << "分 " << "秒 " << endl;
cin >> m_hour >> m_minute >> m_second;
}
void Clock::RunClock()
{
(m_second == 59) ? m_second = 0 : ++m_second;
if(m_second == 0)
{
(m_minute == 59) ? m_minute = 0 : ++m_minute;
if(m_minute == 0)
(m_hour == 23) ? m_hour = 0 : ++m_hour;
}
}
void Clock::ShowTime()
{
if(m_hour < 0 || m_hour > 23 || m_minute < 0 || m_minute > 59 || m_second < 0 || m_second > 59)
{
cout << "error, Please input again!" << endl;
SetTime();
}
while(1)
{
cout.fill('0');//填充方式为0,setw为设置位宽
cout << setw(2) << m_hour << ":"
<< setw(2) << m_minute << ":"
<< setw(2) << m_second << endl;
sleep(1);
RunClock();
system("cls");//清屏
}
}
int main()
{
Clock C;
C.SetTime();
C.ShowTime();
return 0;
}