home *** CD-ROM | disk | FTP | other *** search
/ Sams Teach Yourself C in 21 Days (6th Edition) / STYC216E.ISO / mac / Examples / TR / seconds.c < prev    next >
C/C++ Source or Header  |  2002-04-27  |  861b  |  44 lines

  1. /* seconds.c */
  2. /* Program that pauses. */
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <time.h>
  7.  
  8. void sleep( int nbr_seconds );
  9.  
  10. int main( void )
  11. {
  12.     int ctr;
  13.     int wait = 13;
  14.  
  15.     /* Pause for a number of seconds. Print a *
  16.      * dot each second waited.                */
  17.  
  18.     printf("Delay for %d seconds\n", wait );
  19.     printf(">");
  20.  
  21.     for (ctr=1; ctr <= wait; ctr++)
  22.     {
  23.        printf(".");       /* print a dot */
  24.        fflush(stdout);    /* force dot to print on buffered machines */
  25.        sleep( (int) 1 );  /* pause 1 second */
  26.     }
  27.     printf( "Done!\n");
  28.     return (0);
  29. }
  30.  
  31. /* Pauses for a specified number of seconds */
  32. void sleep( int nbr_seconds )
  33. {
  34.     clock_t goal;
  35.  
  36.     goal = ( nbr_seconds * CLOCKS_PER_SEC ) + clock();
  37.  
  38.     while( goal > clock() )
  39.     {
  40.        ; /* loop */
  41.     }
  42. }
  43.  
  44.