根据输入的年月日,输出该天为星期几用C++
时间: 2024-09-29 16:04:12 浏览: 56
在C++中,你可以使用`<ctime>`库来计算给定日期对应的星期几。下面是一个简单的示例代码片段,它将帮助你实现这个功能:
```cpp
#include <iostream>
#include <ctime>
std::string getDayOfWeek(int day, int month, int year) {
std::tm date = {0};
date.tm_mday = day;
date.tm_mon = month - 1; // January is month 0 in C++
date.tm_year = year - 1900;
time_t t = mktime(&date);
if (t == -1) {
throw std::invalid_argument("Invalid date");
}
return std::strftime("%A", localtime(&t));
}
int main() {
int day, month, year;
std::cout << "Enter a date (DD MM YYYY): ";
std::cin >> day >> month >> year;
try {
std::string weekday = getDayOfWeek(day, month, year);
std::cout << "The day is: " << weekday << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
在这个程序中,我们首先定义了一个结构体`tm`来存储日期信息,并将其转换成`time_t`类型的值,然后通过`localtime()`函数获取本地时间表示的星期几,最后使用`strftime()`将结果格式化为英文星期名。
阅读全文