2013-09-25 189 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后,它完美工作。谢谢你的快速反应。 –