21xrx.com
2024-11-22 09:33:28 Friday
登录
文章检索 我的文章 写文章
C++编写程序:输入日期输出下一天
2023-06-22 10:32:49 深夜i     --     --
C++ 编程 日期 下一天 输出

C++是一门广泛应用于各个行业的编程语言,其强大的功能和灵活的应用使得它受到了人们的青睐。在这里,我们将介绍一个C++编写程序的例子,可以输入日期并输出下一天。

首先,我们需要明确程序的功能和要求。这个程序的主要功能是根据输入的日期计算出下一天的日期,并输出到屏幕上。具体要求如下:

1. 输入一个合法的日期,格式为“年-月-日”。

2. 输出下一天的日期,格式同样为“年-月-日”。

3. 考虑平年和闰年的情况。

有了这些要求,我们就可以开始编写程序了。程序的实现思路如下:

1. 首先,我们需要从用户那里获取输入的日期。可以使用标准输入流“cin”来实现。输入时可以使用“年-月-日”的格式,并将其保存在三个变量中。

2. 接下来,我们需要判断输入的日期是否合法。可以使用if语句来实现,具体判断方法如下:

1. 年份必须大于等于1,月份必须在1-12之间,日期必须在1-31之间。

2. 对于存在闰年的情况,2月份的日期上限为29天;否则为28天。

3. 对于月份只有30天的,日期上限为30天。

3. 经过输入和判断后,我们需要对输入的日期进行计算,得出下一天的日期。具体方法如下:

1. 首先,对年份、月份和日期进行判断,判断是否为该月的最后一天。

2. 如果是该月的最后一天,那么就需要根据月份、年份是否为闰年来判断下一天的日期。

3. 如果不是该月的最后一天,则直接计算出下一天的日期。

4. 最后,我们需要输出结果到屏幕上。可以使用标准输出流“cout”来实现。

下面是完整的程序代码:


#include <iostream>

using namespace std;

int main() {

  // 1. 提示用户输入日期

  cout << "请输入日期(格式:年-月-日):";

  

  // 2. 从输入流中读取日期

  int year, month, day;

  char c1, c2;

  cin >> year >> c1 >> month >> c2 >> day;

  

  // 3. 判断日期是否合法

  int daysInMonth[13] = 31;

  if (year >= 1 && month >= 1 && month <= 12 && day >= 1 && day <= daysInMonth[month]) {

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

      daysInMonth[2] = 29;

    }

    // 4. 计算下一天的日期

    if (day == daysInMonth[month]) {

      if (month == 12) {

        year++;

        month = day = 1;

      }

      else {

        month++;

        day = 1;

      }

    }

    else {

      day++;

    }

    // 5. 输出结果

    cout << "下一天的日期为:" << year << "-" << month << "-" << day << endl;

  }

  else

    cout << "日期不合法!" << endl;

  

  return 0;

}

以上就是C++编写程序:输入日期输出下一天的全部内容。通过本文,相信大家对C++语言的应用又有了更深一步的了解。

  
  

评论区

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