#include <WINDOWS.H>
#include <stdlib.h>
#include <math.h>
const int sampling_count=200;
const double pi=3.1415926535;
const int total_amplitude=300;
int _tmain(int argc,_TCHAR*argv[])
{
DWORD busySpan[sampling_count];
int amplitude=total_amplitude/2;
double radian=0.0;
double radianincrement=2.0/(double)sampling_count;
for (int i=0;i<sampling_count;i++)
{
busySpan[i]=(DWORD)(amplitude+(sin(pi*radian)*amplitude));
radian+=radianincrement;
}
DWORD startTime=0;
for (int j=0;;j=(j+1)%sampling_count)
{
startTime=GetTickCount();
while ((GetTickCount()-startTime)<=busySpan[j]);
Sleep(total_amplitude-busySpan[j];)
}
return 0;
}
#include <stdlib.h>
#include <math.h>
const int sampling_count=200;
const double pi=3.1415926535;
const int total_amplitude=300;
int _tmain(int argc,_TCHAR*argv[])
{
DWORD busySpan[sampling_count];
int amplitude=total_amplitude/2;
double radian=0.0;
double radianincrement=2.0/(double)sampling_count;
for (int i=0;i<sampling_count;i++)
{
busySpan[i]=(DWORD)(amplitude+(sin(pi*radian)*amplitude));
radian+=radianincrement;
}
DWORD startTime=0;
for (int j=0;;j=(j+1)%sampling_count)
{
startTime=GetTickCount();
while ((GetTickCount()-startTime)<=busySpan[j]);
Sleep(total_amplitude-busySpan[j];)
}
return 0;
}