看到有同学发帖子:http://student.csdn.net/space.php?uid=348855&do=thread&id=8517 试着写一下.
如果要获得目前的时间并转换成时分秒,需要自己想办法做转换啦.
- #include <iostream>
- using namespace std;
- #include <ctime>
- typedef unsigned int uint;
- class Clock
- {
- public:
- Clock(uint h=0, uint m=0, uint s=0)
- :hour(h), minute(m), second(s)
- {
- }
- void Set()
- {
- cout << "请输入当前时间(时,分,秒),以空格分隔,以回车结束:" << endl;
- cin >> hour >> minute >> second;
- }
- void Run() //每隔一秒时间变动一次
- {
- uint old = time(NULL);
- while(true)
- {
- if (time(NULL) != old)
- {
- old = time(NULL);
- //加一秒
- if (second == 59)
- {
- second = 0;
- if (minute == 59)
- {
- minute = 0;
- if (hour == 23)
- hour = 0;
- else
- hour++;
- }
- else
- minute++;
- }
- else
- second++;
- system("cls"); //清屏
- Show();
- }
- }
- }
- private:
- void Show(uint n) const
- {
- if (n < 10)
- cout << '0' << n;
- else
- cout << n;
- }
- void Show() const//显示时间
- {
- Show(hour);
- cout << ':';
- Show(minute);
- cout << ':';
- Show(second);
- cout << endl;
- }
- private:
- uint hour;
- uint minute;
- uint second;
- };
- int main()
- {
- Clock ck;
- ck.Set();
- ck.Run();
- }