if you are going to go by way of the loop, empty loops will iterate remarkably fast even if the value is large. the argument would be that this is a very CPU intensive delay, but if you want to have a loop based delay that doesnt require 100 million iterations, try a loop that prints white space to the console every iteration - really slows it down.
Code:
int i;
for (i=0; i<100000; i++)
{
printf (" ");
}
i have a 3Ghz processor and that code ran for about 3 seconds - can easily be increased by increasing the number of iterations. also, cout is marginally slower than printf - something i saw in the faq once.
there is yet another method which i have used, and it allows you to specify in seconds roughly how long you want to delay - you will need time.h.
Code:
printf ("Enter how long: ");
scanf ("%d", &len);
current = time(0);
stop = current + len;
printf ("%d, %d\n\n", current, stop);
while (1)
{
current = time (0);
if (current >= stop)
break;
}