21xrx.com
2025-03-31 19:21:37 Monday
文章检索 我的文章 写文章
C++编写万年历简单代码
2023-07-07 15:50:29 深夜i     62     0
C++ 万年历 编写 简单 代码

有很多编程语言可以用来编写万年历程序,其中C++是一种非常流行的语言。C++编写万年历可以使用多种方法,下面介绍一种简单的代码。

首先,我们需要定义一个结构体来存储年、月、日等信息。这个结构体可以包含年份、月份、日期和星期几等成员。我们还需要定义一个函数来判断某一年是否为闰年,因为闰年的计算方法稍微有些复杂。

接下来,我们可以定义一个函数来输入年份和月份,并输出整个月份的日历。这个函数可以使用switch语句来判断每个月份的天数,并根据每月第一天是星期几来输出相应的空格。最后,我们可以使用循环语句来输出所有日期。

下面是一个简单的C++代码示例:

#include <iostream>
using namespace std;
struct date
  int year;
int leap(int year) //判断是否为闰年
{
  if(year%4==0 && year%100!=0 || year%400==0)
    return 1;
  else
    return 0;
}
void calendar(int year, int month)
{
  date month_first;
  month_first.year = year;
  month_first.month = month;
  month_first.day = 1;
  int day_count = 0;
  switch(month)
  {
    case 1: day_count = 31; month_first.week = 2; break;
    case 2: if(leap(year)==1) day_count = 29; else day_count = 28; month_first.week = 5; break;
    case 3: day_count = 31; month_first.week = 5; break;
    case 4: day_count = 30; month_first.week = 1; break;
    case 5: day_count = 31; month_first.week = 3; break;
    case 6: day_count = 30; month_first.week = 6; break;
    case 7: day_count = 31; month_first.week = 1; break;
    case 8: day_count = 31; month_first.week = 4; break;
    case 9: day_count = 30; month_first.week = 7; break;
    case 10: day_count = 31; month_first.week = 2; break;
    case 11: day_count = 30; month_first.week = 5; break;
    case 12: day_count = 31; month_first.week = 7; break;
  }
  cout << " SUN MON TUE WED THU FRI SAT" << endl;
  for(int i=1; i<month_first.week; i++) //输出第一行的空格
    cout << "   ";
  for(int i=1; i<=day_count; i++) //输出每个日期
  {
    if(i<10)
      cout << "  " << i;
    else
      cout << " " << i;
    month_first.week++;
    if(month_first.week>7//每个星期的最后一天
    
      month_first.week = 1;
      cout << endl;
    
  }
}
int main()
{
  int year, month;
  cout << "Please enter the year:";
  cin >> year;
  cout << "Please enter the month:";
  cin >> month;
  calendar(year, month);
  return 0;
}

这段简单的C++代码可以让我们实现一个万年历程序。它可以根据用户输入的年份和月份来输出整个月份的日历,让用户方便地查询每一天的日期和星期几。同时,这个代码也可以让初学者更好地理解C++语言的基础知识,比如结构体、判断语句、循环语句等。

  
  

评论区

请求出错了