Сравнение равенства в выражении if

Извините за этот вопрос, это мой первый проект на C ++, и я немного растерялся. Я прошу пользователя ввести 3 отдельные вещи. Например, я начинаю с цифры 80. Я задаю пользователю 3 вопроса. 1) Вам нравится синий или желтый? Введите 1 для синего, 2 для желтого. Если пользователь вводит 1 для синего, умножьте число 80 на 2. Если они введут 2 для желтого, умножьте 80 на 3.

Может кто-нибудь дать мне знать, если это выглядит так, как будто это на правильном пути? Спасибо и еще раз извините за вопрос новичка.

cout << "Please enter a color blue or yellow. Type 1 for Blue, 2 for Yellow";
cin >> bp1;
// Multiply by 2 if Blue is chosen, 3 if Yellow is chosen.
if (bp1 = 1)
num = num*2;
if (bp1 = 2)
num = num*3;

0

Решение

В вашем утверждении if есть проблема

должно быть так:

if (bp1 == 1)
num = num*2;
if (bp1 == 2)
num = num*3;
2

Другие решения

Добро пожаловать в мир C ++! Вы определенно на правильном пути, но есть пара проблем. Во-первых, оператор, который вы используете в своих операторах if, является оператором присваивания, поэтому ваши операторы всегда будут возвращать true. Это должен быть оператор сравнения (==). Во-вторых, я рекомендую использовать здесь выражение if-else if, поскольку вам может не потребоваться проверять оба раза. Следующего должно быть достаточно:

if(bp1 == 1)
{
num = num * 2;
}
else if(bp1 == 2)
{
num = num * 3;
}
2

ты хотел написать оператор сравнения ==

if (bp1 == 1)
if (bp1 == 2)
//      ^^

if (bp1=1) всегда будет оцениваться как истинный из operator=

2

Еще проще:

Вместо:

if(bp1 == 1)
num = num * 2;
else if (bp1 == 2)
num = num * 3;

ты можешь написать это

  num = num * (bp + 1)

или даже

  num *= (bp + 1)
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector