1: //timing_functions.cpp 2: //Illustrates the following time-related system functions: 3: //time(), clock() and ctime() 4: //Also illustrates the built-in named constant CLOCKS_PER_SEC. 6: #include <iostream> 7: #include <ctime> 8: using namespace std; 9: #pragma warning(disable:4996) 11: int main() 12: { 13: cout << "\nThis program illustrates some useful " 14: << "time-related functions from <ctime>. \n" 15: << "Study the code simultaneously with the program output."; 17: time_t currentTime = time(0); 18: cout << "\n\nHere is the current time, given as the number of\n" 19: "seconds after an implementation-defined base time: \n"; 20: cout << (unsigned long) currentTime << endl; 21: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 23: cout << "\nHere is the current date and time: \n"; 24: cout << ctime(¤tTime); 25: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 27: cout << "\nHere are ten values of the \"clock\" function,\n" 28: "output with an artificial delay after each one:\n"; 29: for (int i=1; i<=10000000; i++) 30: if (i % 1000000 == 0) cout << clock() << endl; 31: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 33: cout << "\nNow we illustrate inserting a delay of " 34: "user-chosen length into a program.\n"; 35: int delayTimeInSeconds; 36: cout << "Enter the length of the delay you wish " 37: "to observe, in seconds: "; 38: cin >> delayTimeInSeconds; cin.ignore(80, '\n'); 39: clock_t delayTimeInClockTicks = delayTimeInSeconds * CLOCKS_PER_SEC; 40: cout << "\nCheck your watch, if you wish to " 41: "time the delay manually, and when ready ... \n"; 42: cout << "Press Enter to continue ... "; cin.ignore(80, '\n'); 43: cout << "Now starting ... \n"; 44: clock_t numClockTicksAtStart = clock(); 45: while (clock() - numClockTicksAtStart < delayTimeInClockTicks) 46: /* Do nothing */ ; 47: cout << "Now finished.\n"; 48: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 49: }