Qt數字電子鐘(根據進位計算實現)

目的

使用定時器(QTimer類)與進位計算實現具有日期顯示功能的電子鐘,通過界面可以修改日期和時間。不能使用Qt自帶的日期和時間類(QDate、QDatetime、QTime等)進行設計。

簡介:

輸入一個初始時間,使用定時器根據時間日期的進位計算進行時間數據更新。主要考慮平年閏年問題,月份天數問題等。

效果:

代碼:

//判斷平年還是閏年
//參數year 是輸入的年份  如果是平年就返回true,如果是閏年就返回false
bool MainForm::isCommonYear(int year)
{
    //要判斷某一年是不是閏年,一般方法是用4或400去除這一年的年份數,如果除得的商是整數而沒有餘數,那麼這一年是閏年。
    if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
    {
        //閏年
        return false;
    }
    else
    {
        //平年
        return true;
    }
}
//判斷這個月有多少天
//如果月份數對,年數 返回天數
int MainForm::howManyDayofTheMonth(int month,int year)
{
    //先判斷是平年還是閏年
    //如果是平年,那麼2月就是28天
    if(isCommonYear(year))
    {
        //如果是2月
        if(month == 2)
        {
            return 28;
        }
        if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
        {
            //如果是1 3 5 7 8 10 12 這幾個月份,那就是31天
            return 31;
        }
        //如果不是上面的月份,那就返回30天
        return 30;

    }
    //如果是閏年
    if(month == 2)
    {
        return 29;
    }
    if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
    {
        //如果是1 3 5 7 8 10 12 這幾個月份,那就是31天
        return 31;
    }
    //如果不是上面的月份,那就返回30天
    return 30;
}
 

 exe體驗地址(百度網盤鏈接):

鏈接:https://pan.baidu.com/s/1lWv96yRTQmQfDFHDtQmxAg 
提取碼:2tlt 

[email protected] 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章