我想在C++中編寫一個簡單的程序,它返回給定日期的星期幾。給定日期的C++天數
輸入格式爲日,月,年。我無法讓它與閏年一起工作。當輸入年份是閏年時,我試圖從a
變量中減去一個,但程序只是在沒有錯誤消息的情況下最終崩潰。
我將不勝感激任何建議,但請儘量保持簡單,我仍然是初學者。對於這個愚蠢的問題抱歉,請原諒我的錯誤,這是我第一次在這個網站上發帖。
#include <iostream>
#include <string>
#include <vector>
#include <cmath>
using namespace std;
int d;
int m;
int y;
string weekday(int d, int m, int y){
int LeapYears = (int) y/ 4;
long a = (y - LeapYears)*365 + LeapYears * 366;
if(m >= 2) a += 31;
if(m >= 3 && (int)y/4 == y/4) a += 29;
else if(m >= 3) a += 28;
if(m >= 4) a += 31;
if(m >= 5) a += 30;
if(m >= 6) a += 31;
if(m >= 7) a += 30;
if(m >= 8) a += 31;
if(m >= 9) a += 31;
if(m >= 10) a += 30;
if(m >= 11) a += 31;
if(m == 12) a += 30;
a += d;
int b = (a - 2) % 7;
switch (b){
case 1:
return "Monday";
case 2:
return "Tuesday";
case 3:
return "Wednesday";
case 4:
return "Thursday";
case 5:
return "Friday";
case 6:
return "Saturday";
case 7:
return "Sunday";
}
}
int main(){
cin >> d >> m >> y;
cout << weekday(d, m, y);
}
,當你通過它在你的調試步驟,會發生什麼? – MrEricSir
談到日期時,沒有簡單的程序這樣的事情(去問問jon skeet)。該功能已經存在,爲什麼重新創建它。 –
有一個簡單的計算公式。請參閱https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week –