clock.h
 1 #ifndef _CLOCK_H_
 2 #define _CLOCK_H_
 3 
 4 struct Time{
 5     int hour, minute, second;
 6 };
 7 
 8 void set(Time* p, int h, int m, int s);
 9 void walk(Time* p);
10 void show(Time* p);
11 void run(Time* p);
12 
13 #endif
clock.cc
#include <iostream>
#include 
<ctime>
#include 
"clock.h"
using namespace std;

void set(Time* p, int h, int m, int s){
    p
->hour=h;
    p
->minute=m;
    p
->second=s;
}


void walk(Time* p){
    time_t t
=time(NULL);
    
while(time(NULL)==t);
    
if(++p->second >= 60){
        p
->second=0;
        
if(++p->minute >= 60){
            p
->minute=0;
            
if(++p->hour>=24)
                p
->hour=0;
        }

    }

}


void show(Time* p){
    cout
<<"\r";
    
if(p->hour<10) cout<<0;
    cout
<<p->hour<<':';
    
if(p->minute<10) cout<<0;
    cout
<<p->minute<<':';
    
if(p->second<10) cout<<0;
    cout
<<p->second<<flush;
}


void run(Time* p){
    
for(; ;){
        walk(p);
        show(p);
    }

}
main.cc
#include "clock.h"

int main(){
    Time t;
    
set(&t, 000);
    run(
&t);
}

程序运行时的CPU使用率