控制台显示时钟

看到有同学发帖子:http://student.csdn.net/space.php?uid=348855&do=thread&id=8517  试着写一下.

如果要获得目前的时间并转换成时分秒,需要自己想办法做转换啦.

 

Code:
  1. #include    
  2. using namespace std;   
  3. #include    
  4.   
  5. typedef unsigned int uint;   
  6.   
  7. class Clock   
  8. {   
  9. public:   
  10.   
  11.   
  12.     Clock(uint h=0, uint m=0, uint s=0)   
  13.     :hour(h), minute(m), second(s)   
  14.     {   
  15.     }   
  16.   
  17.   
  18.     void Set()   
  19.     {   
  20.         cout << "请输入当前时间(时,分,秒),以空格分隔,以回车结束:" << endl;   
  21.         cin >> hour >> minute >> second;   
  22.     }   
  23.   
  24.     void Run() //每隔一秒时间变动一次   
  25.     {   
  26.   
  27.         uint old = time(NULL);   
  28.   
  29.         while(true)   
  30.         {   
  31.             if (time(NULL) != old)   
  32.             {   
  33.                 old = time(NULL);   
  34.   
  35.                 //加一秒   
  36.                 if (second == 59)   
  37.                 {   
  38.                     second = 0;   
  39.                     if (minute == 59)   
  40.                     {   
  41.                         minute = 0;   
  42.                         if (hour == 23)   
  43.                             hour = 0;   
  44.                         else  
  45.                             hour++;   
  46.                     }   
  47.                     else  
  48.                         minute++;   
  49.                 }   
  50.                 else  
  51.                     second++;   
  52.   
  53.                 system("cls"); //清屏   
  54.                 Show();   
  55.             }   
  56.   
  57.   
  58.   
  59.         }   
  60.     }   
  61.   
  62. private:   
  63.     void Show(uint n) const  
  64.     {   
  65.         if (n < 10)   
  66.             cout << '0' << n;   
  67.         else  
  68.             cout << n;   
  69.     }   
  70.   
  71.     void Show() const//显示时间   
  72.     {   
  73.         Show(hour);   
  74.         cout << ':';   
  75.         Show(minute);   
  76.         cout << ':';   
  77.         Show(second);   
  78.         cout << endl;   
  79.     }   
  80.   
  81.   
  82. private:   
  83.     uint hour;   
  84.     uint minute;   
  85.     uint second;   
  86. };   
  87.   
  88. int main()   
  89. {   
  90.     Clock ck;   
  91.     ck.Set();   
  92.     ck.Run();   
  93. }   

 

你可能感兴趣的:(控制台显示时钟)