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