[英]C++ switch + bool task from book
我是編程和C ++的新手,所以我給自己寫了一本關於它的書。 在這種情況下,聖誕節(12月25日)也說:
bool IsItHoliday(false)
在開始。 這是我正在嘗試的代碼,它不起作用。
#include <iostream>
using namespace std;
int main() {
cout<<"dd mm gggg";
int d,m;
long int g;
cin>>d>>m>>g;
long da;
if (m<3) {
da=365*g+d+31*(m-1)+(g-1)/4-3*((g-1)/100+1)/4;
}
else {
da=365*g+d+31*(m-1)-static_cast<int>(0.4*m+2.3)+g/4-3* (g/100+1)/4;
}
cout<<d<<"."<<m<<"."<<g<<". falls on ";
bool IsItHoliday(false);
switch (da%7) {
case 0:
case 1:
cout<<"weekend"<<endl;
break;
default:
cout<<"working day"<<endl;
}
return 0;
}
d是日,m是月,g是年,da是日期
如果假日語句(12月25日)在開關塊中的某個位置為true,則bool IsItHoliday也應更改為true。 我用於檢測周末的代碼可以正常工作,但不能將12月25日檢測為假日。
順便說一句,本書是克羅地亞語的,沒有,他們沒有給我寫代碼應該看起來像應該執行的任務的樣子。
我非常確定da
應該是工作日(可能是克羅地亞語),因此您應該處理所有7種情況。 聖誕節與特定的工作日無關,它可以在一周的任何一天出現。 因此,您不能僅針對case 0:
處理它。
(也基里爾的評論是正確的)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.