операторы c ++ IF выполняются, но добавление ELSE показывает ошибки - PullRequest
1 голос
/ 23 сентября 2019

Я должен использовать вложенные операторы 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 недопустимо, если нет, если

Ответы [ 2 ]

3 голосов
/ 23 сентября 2019

Проблема в том, что вы ставите точку с запятой в конце своих операторов if и перед открывающей скобкой.В последнем случае пропущено условие 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;
}
1 голос
/ 23 сентября 2019

Вы не должны ставить точку с запятой после условий if s.Кроме того, не имеет смысла иметь условие для else, которое не является else if.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...