21xrx.com
2024-11-22 07:12:57 Friday
登录
文章检索 我的文章 写文章
C++编写日历程序
2023-07-02 02:07:09 深夜i     --     --
C++ 日历 编写 程序 日期

日历程序是我们日常生活中经常使用的一种程序,我们可以通过它来查询今天是几月几号、某一个特定日期是星期几、一年中的某个月份有几天等等。在计算机编程领域,C++是一种广泛使用的编程语言,我们可以利用C++编写一个简单的日历程序。

在C++中,我们可以使用结构体来表示一个日期,例如:


struct Date

int year;

int month;

int day;

;

接下来,我们可以定义一个函数来判断某年是否为闰年:


bool isLeapYear(int year) {

  if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)

    return true;

   else

    return false;

  

}

通过判断年份是否为闰年,我们可以得知一年中二月份的天数。我们可以再定义一个函数来计算某一个月份有多少天:


int getMonthDays(int year, int month) {

  if(month == 2) {

    if(isLeapYear(year))

      return 29;

     else

      return 28;

    

  } else if(month == 4 || month == 6 || month == 9 || month == 11)

    return 30;

   else

    return 31;

  

}

有了以上两个函数的帮助,我们就可以编写一个主函数来输出日历了:


int main() {

  Date today;

  // 获取今天的日期,此处省略

  int monthDays = getMonthDays(today.year, today.month);

  int firstDay = getFirstDay(today.year, today.month);

  cout << today.year << "年" << today.month << "月" << endl;

  cout << "日  一  二  三  四  五  六" << endl;

  int dayCount = 1;

  int currentDay = 1;

  while(dayCount <= monthDays) {

    if(currentDay % 7 == 0)

      cout << endl;

    

    if(currentDay < firstDay)

      cout << "   ";

     else {

      cout << setw(2) << dayCount << "  ";

      dayCount++;

    }

    currentDay++;

  }

  cout << endl;

  return 0;

}

在主函数中,我们先获取今天的日期,然后计算出本月的天数和本月1号是星期几。接着,我们输出表头,然后使用循环逐一输出每一个日期。如果当前日期小于1号的星期,我们先输出一些空格,否则输出日期,注意要使用setw函数来控制宽度。最后,我们在输出完所有日期后,记得要换行。

这就是一个简单的C++日历程序的实现过程。当然,这只是一个最基本的实现,还有很多可以完善的地方,例如用户输入日期范围、使用图形界面等等。无论如何,日历程序都是一个非常好的练手项目,对于学习C++编程来说也是非常有帮助的。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复