簡體   English   中英

書中的C ++開關+ bool任務

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM