本文实例为大家分享了C++实现电子时钟的具体代码,供大家参考,具体内容如下
此精确到秒,因为有精度误差加上从计算机获取初始时间时处理比较简单,因此运行一段时间会出现较大的误差。
代码可共享
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
#include<iostream> #include<iomanip> #include<Windows.h> using namespace std; class Clock { private : int hour, minute, second; int year, month, day,week; public : Clock() {}; void SetTime1( int _Hour, int _Mins, int _Sec){ //初始时间函数 hour = _Hour; minute = _Mins; second = _Sec; } void SetTime2( int _year, int _month, int _day, int _week) { //初始时间函数 year = _year; month = _month; day = _day; week = _week; } void ShowTime() { cout << year << "year " << month << "month " << day << "day " << "weekday" << week << endl; cout << setw(2) << setfill( '0' ) << hour << ":" << setw(2) << setfill( '0' ) << minute << ":" << setw(2) << setfill( '0' ) << second << endl; } //显示函数 void Count_time() { //计时函数 while (1) //24小时制 { second += 1; if (hour >= 24) { hour -= 24; Correct_time(); //年月日纠错 week = week % 7 + 1; //星期变化 } if (minute >= 60){ minute -= 60; hour += 1; } if (second >= 60) { second -= 60; minute += 1; } system ( "cls" ); //清屏,清除所有显示的信息 ShowTime(); Sleep(1000); //一秒延迟 } } void Correct_time() { int flag = 0; if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) flag = 1; if (month == 2) { if ((flag == 1 && day == 29) || (flag == 0 && day == 28)) { day = 1; month += 1; } else day += 1; } else { switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: if (day == 31) { month += 1, day = 1; } else day += 1; break ; case 4: case 6: case 9: case 11: if (day == 30) { month += 1, day = 1; } else day += 1; break ; default : break ; } } } }; int main() { Clock myClock; //定义时钟类对象 struct tm t; //tm结构指针 time_t now; //声明time_t类型变量 time (&now); //获取系统日期和时间 localtime_s(&t, &now); //获取当地日期和时间 myClock.SetTime2(t.tm_year + 1900, t.tm_mon + 1, t.tm_mday,t.tm_wday); myClock.SetTime1(t.tm_hour, t.tm_min, t.tm_sec); myClock.ShowTime(); myClock.Count_time(); return 0; } |
执行效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_44116998/article/details/104176942