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, 0, 0, 0);
run(&t);
} 程序运行时的CPU
使用率