21xrx.com
2024-11-05 20:42:12 Tuesday
登录
文章检索 我的文章 写文章
用C++实现输入数字输出星期几功能
2023-07-05 09:12:30 深夜i     --     --
C++ 输入数字 星期几 实现

在C++编程中,使用日期和时间函数可以快速实现许多与时间相关的功能。其中一个非常常见的功能是输入数字输出星期几。

想象一下,当我们得到了一个日期的数字输入时,我们需要将它翻译成一个星期几的字符串输出。这是非常有用的,无论是编写日历应用程序还是处理时间数据的其他项目。

在C++中,我们可以使用一些内置的日期和时间函数来实现这个功能。首先,我们将使用time.h头文件来访问时间函数。我们还可以使用iostream头文件来处理用户输入和输出。

接下来,我们需要编写一个函数将输入的数字转换为星期几的字符串。以下是这个函数的代码:


#include <iostream>

#include <time.h>

using namespace std;

string getWeekday(int year, int month, int day) {

  struct tm timeinfo = {0};

  int weekday;

  timeinfo.tm_year = year - 1900;

  timeinfo.tm_mon = month - 1;

  timeinfo.tm_mday = day;

  mktime(&timeinfo);

  weekday = timeinfo.tm_wday;

  switch (weekday)

    case 0:

      return "Sunday";

    case 1:

      return "Monday";

    case 2:

      return "Tuesday";

    case 3:

      return "Wednesday";

    case 4:

      return "Thursday";

    case 5:

      return "Friday";

    case 6:

      return "Saturday";

    default:

      return "Invalid";

  

}

该函数将三个整数作为参数:年,月和日。它将这些值传递给struct tm变量中,然后使用mktime函数将其转换为Unix时间戳。最后,它返回日期的星期几,使用switch语句将整数映射为相应的字符串。

现在,我们需要编写一个主程序来接收用户输入日期的数字。以下是这个程序的代码:


int main() {

  int year, month, day;

  cout << "Please enter the date in the format yyyy mm dd: ";

  cin >> year >> month >> day;

  string weekday = getWeekday(year, month, day);

  cout << "The date " << year << "/" << month << "/" << day <<" is a " << weekday << endl;

  return 0;

}

该程序首先提示用户输入日期的数字,然后读取用户的输入,并调用上述星期几函数来获取结果。最后,它输出星期几字符串。

现在,我们可以将整个程序组合在一起,运行它,并输入一个日期。以下是完整的代码:


#include <iostream>

#include <time.h>

using namespace std;

string getWeekday(int year, int month, int day) {

  struct tm timeinfo = {0};

  int weekday;

  timeinfo.tm_year = year - 1900;

  timeinfo.tm_mon = month - 1;

  timeinfo.tm_mday = day;

  mktime(&timeinfo);

  weekday = timeinfo.tm_wday;

  switch (weekday)

    case 0:

      return "Sunday";

    case 1:

      return "Monday";

    case 2:

      return "Tuesday";

    case 3:

      return "Wednesday";

    case 4:

      return "Thursday";

    case 5:

      return "Friday";

    case 6:

      return "Saturday";

    default:

      return "Invalid";

  

}

int main() {

  int year, month, day;

  cout << "Please enter the date in the format yyyy mm dd: ";

  cin >> year >> month >> day;

  string weekday = getWeekday(year, month, day);

  cout << "The date " << year << "/" << month << "/" << day <<" is a " << weekday << endl;

  return 0;

}

运行程序,您将得到以下结果:

Please enter the date in the format yyyy mm dd: 2022 05 31

The date 2022/5/31 is a Tuesday

如您所见,该程序成功地将输入的数字转换为星期几,并将结果输出到屏幕上。

总之,在C++编程中,我们可以使用日期和时间函数轻松地实现许多与时间相关的功能。使用上述代码,您可以实现输入数字输出星期几的功能,并将其用于您的下一个时间处理项目中。

  
  

评论区

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