2013-09-25 243 views
0

我必須提前道歉任何含糊不清,但我只是像C++一樣新。我在入門級編程課程,實際上還沒有學過真正的代碼,只是僞代碼,我正在努力工作。我正在嘗試創建一個程序來計算2013年和用戶輸入年份之間的閏日數。我猜測我的for循環由於某種原因沒有結束,因爲程序不會結束,顯示輸出或允許進一步輸入。我必須在某處出現邏輯錯誤或簡單的語法錯誤,但無法找到它。編譯時我沒有錯誤。如果可能,我正在尋找一個簡單的初學者答案。For循環不會結束

預先感謝您。 for循環

int main() 
{ 
int yearOfBirth, counter=0, remainder; 
bool isLeapYear=false; 
int totalLeapDays=0; 

//Input 

cout << "Enter your birth year:"; 
cin >> yearOfBirth; 

for ((counter=yearOfBirth);(counter=2013);counter++) 
{ 

remainder=counter%4; 

if (remainder == 0) 
    { 
    isLeapYear = true; 
    } 
if (isLeapYear) 
    { 
    totalLeapDays ++; 
    } 
} 

cout << "Total number of leap days: " << totalLeapDays; 

return 0; 
} 
+0

'counter = 2013;'這是你的問題。你忘了那裏有一個「<」嗎? – Borgleader

+0

這解決了我的問題。謝謝!現在來修復數學... –

+2

你也可以刪除這些括號,它們不會添加任何內容,但會稍微抑制可讀性。 – Borgleader

回答

0
(counter=2013) 

中東的問題。 One =只是將2013分配給櫃檯。

+0

將其更改爲<=,並且在添加語句以將isLeapYear標誌返回爲false後,它完美工作。謝謝你的快速反應。 –