21xrx.com
2025-04-03 17:30:19 Thursday
文章检索 我的文章 写文章
C++实现获取月份天数的方法
2023-07-05 08:47:31 深夜i     29     0
C++ 月份 天数 实现方法

C++语言是一种广泛应用于计算机编程的高级语言。它采用面向对象的方法,具有强大的基本数据类型、丰富的运算符和函数、易于扩展的应用程序接口等特点,成为了广大程序员的首选编程语言。在编写C++程序时,获取月份天数是一个经常遇到的问题,下面介绍一种实现方法。

方法一:switch语句

在C++中,我们可以使用switch语句来实现获取月份天数的功能。switch语句是一种常见的控制语句,可以根据不同的变量值执行不同的语句。具体代码如下:

#include <iostream>
using namespace std;
int main()
{
  int year, month, days;
  cout << "请输入年份和月份\n";
  cin >> year >> month;
  switch (month)
  {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
      days = 31;
      break;
    case 4:
    case 6:
    case 9:
    case 11:
      days = 30;
      break;
    case 2:
      if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
      
        days = 29;
      
      else
      
        days = 28;
      
      break;
    default:
      cout << "输入的月份有误!" << endl;
      return -1;
  }
  cout << year << "年" << month << "月有" << days << "天。" << endl;
  return 0;
}

上述代码中,首先通过标准输入读取用户输入的年份和月份。然后通过switch语句实现判断月份的天数。当输入的月份不存在时,程序会输出错误提示并退出。

方法二:数组

除了使用switch语句,我们还可以使用数组来实现获取月份天数的功能。具体代码如下:

#include <iostream>
using namespace std;
int main()
{
  int year, month, days;
  int dayTab[12] = 31;
  cout << "请输入年份和月份\n";
  cin >> year >> month;
  if (month == 2)
  {
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
    
      days = 29;
    
    else
    
      days = 28;
    
  }
  else if (month >= 1 && month <= 12)
  {
    days = dayTab[month - 1];
  }
  else
  
    cout << "输入的月份有误!" << endl;
    return -1;
  
  cout << year << "年" << month << "月有" << days << "天。" << endl;
  return 0;
}

上述代码中,我们使用了一个长度为12的整型数组dayTab来表示每个月的天数。当输入的月份不为2时,我们可以通过数组下标获取对应返回的天数。当输入的月份为2时,我们再进行判断闰年的逻辑并返回对应天数。

综上所述,以上两种方法都可以实现获取月份天数的功能。在实际开发中,可以根据具体情况选择哪种方法实现。

  
  

评论区

请求出错了