如何将输出从 1 更改为星期一?
How to change the ouput from 1 to Monday?
我正在使用此处的代码:https://www.geeksforgeeks.org/find-day-of-the-week-for-a-given-date/。它查找日期所在的星期几。输出是一个对应于星期几的数字,但我希望它说 'Monday' 而不是“1”。我该如何更改它?
#include <iostream>
using namespace std;
int dayofweek(int d, int m, int y)
{
static int t[] = { 0, 3, 2, 5, 0, 3,
5, 1, 4, 6, 2, 4 };
y -= m < 3;
return ( y + y / 4 - y / 100 +
y / 400 + t[m - 1] + d) % 7;
}
int main()
{
int day = dayofweek(03, 02, 2020);
cout << day << endl;
return 0;
}
编写一个接受整数输入和 returns 字符串的方法。
const char* day(int n)
{
static const char* days[] = {
"Monday", "Tuesday", …, "Sunday"
}
if (n >= 1 && n <= 7)
return days[n-1];
else
return "Failday";
}
我这里假设周日是 7 点;如果为 0,请相应调整。
您可能更喜欢 std::string 而不是 char*;我会把这个细节留给你。
实现目标的方法有很多种。一种(天真的)方法是编写一个看起来像
的附加函数
std::string to_date_string(int day) {
switch(day) {
case 1:
return "Monday";
case 2:
return "Tuesday";
// TODO: Continue this pattern.
}
}
这需要包括 string
header。然后你可以简单地写
std::cout << to_date_string(day) << std::endl;
额外提示:尝试在没有 using namespace std;
的情况下编程。这条线可能是一个邪恶的陷阱 - 特别是对于初学者。
我正在使用此处的代码:https://www.geeksforgeeks.org/find-day-of-the-week-for-a-given-date/。它查找日期所在的星期几。输出是一个对应于星期几的数字,但我希望它说 'Monday' 而不是“1”。我该如何更改它?
#include <iostream>
using namespace std;
int dayofweek(int d, int m, int y)
{
static int t[] = { 0, 3, 2, 5, 0, 3,
5, 1, 4, 6, 2, 4 };
y -= m < 3;
return ( y + y / 4 - y / 100 +
y / 400 + t[m - 1] + d) % 7;
}
int main()
{
int day = dayofweek(03, 02, 2020);
cout << day << endl;
return 0;
}
编写一个接受整数输入和 returns 字符串的方法。
const char* day(int n)
{
static const char* days[] = {
"Monday", "Tuesday", …, "Sunday"
}
if (n >= 1 && n <= 7)
return days[n-1];
else
return "Failday";
}
我这里假设周日是 7 点;如果为 0,请相应调整。
您可能更喜欢 std::string 而不是 char*;我会把这个细节留给你。
实现目标的方法有很多种。一种(天真的)方法是编写一个看起来像
的附加函数std::string to_date_string(int day) {
switch(day) {
case 1:
return "Monday";
case 2:
return "Tuesday";
// TODO: Continue this pattern.
}
}
这需要包括 string
header。然后你可以简单地写
std::cout << to_date_string(day) << std::endl;
额外提示:尝试在没有 using namespace std;
的情况下编程。这条线可能是一个邪恶的陷阱 - 特别是对于初学者。