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;
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
void set(Time* p, int h, int m, int s)
{
p->hour=h;
p->minute=m;
p->second=s;
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
void walk(Time* p)
{
time_t t=time(NULL);
while(time(NULL)==t);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(++p->second >= 60)
{
p->second=0;
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(++p->minute >= 60)
{
p->minute=0;
if(++p->hour>=24)
p->hour=0;
}
}
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
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;
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
void run(Time* p)
{
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
for(; ;)
{
walk(p);
show(p);
}
}main.cc
#include "clock.h"
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
int main()
{
Time t;
set(&t, 0, 0, 0);
run(&t);
}程序运行时的CPU
![](/images/cppblog_com/micjore/t.jpg)
使用率