Извините за этот вопрос, это мой первый проект на 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;
В вашем утверждении if есть проблема
должно быть так:
if (bp1 == 1)
num = num*2;
if (bp1 == 2)
num = num*3;
Добро пожаловать в мир C ++! Вы определенно на правильном пути, но есть пара проблем. Во-первых, оператор, который вы используете в своих операторах if, является оператором присваивания, поэтому ваши операторы всегда будут возвращать true. Это должен быть оператор сравнения (==). Во-вторых, я рекомендую использовать здесь выражение if-else if, поскольку вам может не потребоваться проверять оба раза. Следующего должно быть достаточно:
if(bp1 == 1)
{
num = num * 2;
}
else if(bp1 == 2)
{
num = num * 3;
}
ты хотел написать оператор сравнения ==
if (bp1 == 1)
if (bp1 == 2)
// ^^
if (bp1=1)
всегда будет оцениваться как истинный из operator=
Еще проще:
Вместо:
if(bp1 == 1)
num = num * 2;
else if (bp1 == 2)
num = num * 3;
ты можешь написать это
num = num * (bp + 1)
или даже
num *= (bp + 1)