千家信息网

C++怎么实现电子时钟效果

发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,今天小编给大家分享一下C++怎么实现电子时钟效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了
千家信息网最后更新 2024年11月15日C++怎么实现电子时钟效果

今天小编给大家分享一下C++怎么实现电子时钟效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

此精确到秒,因为有精度误差加上从计算机获取初始时间时处理比较简单,因此运行一段时间会出现较大的误差。

代码

#include#include#includeusing 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;}

执行效果

以上就是"C++怎么实现电子时钟效果"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

0