2014-09-21 35 views
-5

如何編輯我的公式C++的錯誤表達,不能用作函數

weekday=(day+2(month)+3(month)/5+year+year/4-year/100+year/400)/7 

讓我沒有得到一個錯誤信息說「表達不能被用作函數」?

#include <iostream> 
using namespace std; 
int main() 
{ 
int date=0; 
int month=0; 
int day=0; 
int year=0; 
int leftover=0; 
int weekday=0; 

cout<<"Enter Date (ex.20140912) :"; 
cin>>date; 

year=date/10000; 
leftover=date%10000; 
month=leftover/100; 
day=date%100; 
{ 
if (month==3) 
    {cout<<"March "<< day<<", "<< year<<":"; 
     weekday=(day+2(month)+3(month)/5+year+year/4-year/100+year/400)/7; 

      if (weekday==0) 
       {cout<<"Saturday"; 
       } 
      if (weekday==1) 
       {cout<<"Sunday"; 
       } 
      if (weekday==2) 
       {cout<<"Monday"; 
       } 
      if (weekday==3) 
       {cout<<"Tuesday"; 
       } 
      if (weekday==4) 
       {cout<<"Wednesday"; 
       } 
+0

你爲什麼要申報工作日的價值兩次? – Chantola 2014-09-21 23:17:25

+0

{if(month == 3)該行開頭的左括號是錯位的。 – robbannn 2014-09-21 23:19:47

回答

3

代碼2(month)是函數調用的語法,如果2是一個函數......但事實並非如此。你可能是指乘法,例如2 * month

3

您需要爲乘法輸入運算符(*):

weekday=(day+2*(month)+3*(month)/5+year+year/4-year/100+year/400)/7; 

如果運營商缺少C(++)解釋爲一個函數調用,wherebthe函數名是如2