IF语句无法正常工作/指定输出

时间:2018-03-01 15:49:05

标签: c

我正在尝试使用if语句。

  • 我正在做一个计算一年中月数的时间计数器 - 所以如果它的“11个月”,“年”将为0.所以37个月将是“3年”和“#39” ; ' 1个月'。
  • 每月一次'点击13然后1年' ' 1个月'会出现。
  • 因此,每13个月1将被添加到年度计数器,月份计数器将重置。

    if (MonthlyDuration = 13);
     Year += 1;  
    if (MonthlyDuration != 13);
    Year += 0;
    
    printf("\n\r %4.d", Year, MonthlyDuration);
    
  • 然后将其添加到print语句的末尾,如上所示。

    • 任何人都知道为什么这不能正常工作?

2 个答案:

答案 0 :(得分:1)

  1. if s。
  2. 的末尾丢失分号
  3. 您正在使用单个=,即分配。您需要使用两个(==)来测试是否相等。
  4. 虽然单个语句if不需要,但您可能需要包含大括号。
  5. 更正后的代码如下所示:

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

答案 1 :(得分: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;

 }

我希望这会有所帮助。