c++ IF 语句执行,但添加 ELSE 会显示错误

c++ IF statements execute, but adding ELSE shows errors

本文关键字:ELSE 显示 错误 添加 IF 语句 执行 c++      更新时间:2023-10-16

我应该在我的作业中使用嵌套的if/else语句。 我的 IF 语句执行得很好,但是当我在任何地方添加"else"时,它下面会出现一条红色的波浪线。是因为我用错了括号吗?

{
const int package = 99;
double quantity, total1, total2, total4;
cout << "How many units were sold?n";
cin >> quantity;
if (quantity >= 1 && quantity <= 19);
{
total1 = package * quantity - (.2 * package * quantity);
cout << "Sale total: " << total1 << endl;
}
else if (quantity >= 20 && quantity <= 99);
{
total2 = package * quantity - (.3 * package * quantity);
cout << "Sale total: " << total2 << endl;
}
else (quantity >= 100);
{
total4 = package * quantity - (.5 * package * quantity);
cout << "Sale total: " << total4 << endl;
}

我从使用"else"的行中返回的错误是:

  • E0127 预期声明
  • C2181 非法其他没有匹配如果

问题是您将分号放在 if 语句的末尾和左括号之前。最后一个是缺少一个如果,但我相信你在这里根本不需要条件。我也在顶部看到一个左括号,最后没有一个,但我认为这是由于错误地复制/粘贴代码。正确的代码如下所示:

if (quantity >= 1 && quantity <= 19)
{
total1 = package * quantity - (.2 * package * quantity);
cout << "Sale total: " << total1 << endl;
}
else if (quantity >= 20 && quantity <= 99)
{
total2 = package * quantity - (.3 * package * quantity);
cout << "Sale total: " << total2 << endl;
}
else
{
total4 = package * quantity - (.5 * package * quantity);
cout << "Sale total: " << total4 << endl;
}

您不应该在ifs 的条件之后放置分号。此外,在不是else ifelse上设置条件是没有意义的。