21xrx.com
2025-06-02 13:17:34 Monday
登录
文章检索 我的文章 写文章
用C++实现输入数字输出星期几功能
2023-07-05 09:12:30 深夜i     27     0
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++编程中,我们可以使用日期和时间函数轻松地实现许多与时间相关的功能。使用上述代码,您可以实现输入数字输出星期几的功能,并将其用于您的下一个时间处理项目中。

  
  

评论区