// Clock program using reference variables #include #include using namespace std; // Function prototypes void delay1Second(); void advanceClock(unsigned short& hr, unsigned short& min, unsigned short& sec); int main() { unsigned short hours, minutes, seconds, duration; cout << "How many seconds do you want to run your clock? "; cin >> duration; cout << "Enter hours minutes seconds => "; cin >> hours >> minutes >> seconds; for (int i = 0; i < duration; i++) { delay1Second(); advanceClock(hours, minutes, seconds); cout << setfill('0'); cout << '\r' << setw(2) << hours << ':' << setw(2) << minutes << ':' << setw(2) << seconds << flush; } } void delay1Second() { for (int i = 0; i < 400000000; i++) ; } void advanceClock(unsigned short& hr, unsigned short& min, unsigned short& sec) { ++sec; min += sec/60; hr += min/60; sec %= 60; min %= 60; hr %= 24; }