IF语句无法正常工作/指定输出[关闭]

问题描述 投票:0回答:2

我正在尝试使用if声明。

  • 我正在做一个计算一年中月数的时间计数器 - 所以如果它的'11个月',则年份为0.所以37个月将是'3年''1个月'。
  • 一旦'MonthlyDuration'达到13,那么'1年''1个月'就会出现。
  • 因此,每13个月1将被添加到年度计数器,月份计数器将重置。 if (MonthlyDuration = 13); Year += 1; if (MonthlyDuration != 13); Year += 0; printf("\n\r %4.d", Year, MonthlyDuration);
  • 然后,如上所示,它将被添加到print语句的末尾。 任何人都知道为什么这不能正常工作?
c
2个回答
1
投票
  1. 在你的ifs结束时丢失分号。
  2. 你正在使用一个=,这是任务。您需要使用两个(==)来测试相等性。
  3. 虽然单个语句ifs不需要,但您可能需要包含大括号。

更正后的代码如下所示:

if (MonthlyDuration == 13) {
    Year += 1;
}
if (MonthlyDuration != 13) {
    Year += 0;
}

0
投票

更换

if(MonthlyDuration = 13)

if(MonthlyDuration == 13)

=指定一个值。你需要一个==来比较一个值。另外,删除if语句末尾的分号。或者只是使用此代码来获取所需的程序

#include <iostream>

using namespace std;

int main()
{
int numMonths;
int years = 0;
cout << "Enter the number of months " << endl;
cin >> numMonths;
if(numMonths > 12)
years = numMonths / 12;
cout << (numMonths - (years * 12)) <<" months and " << years << " years. " 
<< endl;
return 0;

 }

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.