让任务管理器画出优美的正弦曲线:
#include<iostream>
#include<cmath>
#include<windows.h>
using namespace std;
const int sample_count=200;
double time=300;
double PI=3.1415926535;
int main()
{
double busy[sample_count];
double angle=0;
double def=2*PI/sample_count;
for(int i=0;i<200;i++)
{
busy[i]=(sin(angle)+1.0)/2.0*time;
angle=angle+def;
}
for(int j=0;;j=(j+1)%sample_count)
{
DWORD start=GetTickCount();
while(GetTickCount()-start<=(DWORD)busy[j]){}
Sleep(time-(DWORD)busy[j]);
}
return 0;
}