Недопустимое преобразование из константного символа в ошибку int в моем проекте

#c

Вопрос:

 #include <iostream>

using namespace std;

int
main ()
{
  int number1, number2, sumatotala, choose, add, multiply;
  add = "add";
  multiply = "multiply";
  
  cin>>choose;
  cin>>number1;
  cin>>number2;
  
  if(choose = add) cout<<number1 number2;
  if(choose = multiply) cout<<number1*number2;

  return 0;
}
 

Это мой код, и у меня следующая ошибка.
main.cpp:17:9: ошибка: недопустимое преобразование из ‘const char*’ в ‘int’ [-fpermissive]
добавить = «добавить»;
^~~~~
main.cpp:18:14: ошибка: недопустимое преобразование из ‘const char*’ в ‘int’ [-fpermissive]
умножить = «умножить»;
^~~~~~~~~~

Я хочу сделать небольшую программу, которая позволит вам выбрать умножение или сложение и на основе вашего решения умножить или добавить 2 числа. Я не так хорошо кодирую, и если бы кто-нибудь мог мне помочь, я был бы очень благодарен.

Комментарии:

1. Как ты думаешь add = "add"; , что именно это делает? Вы понимаете, что add это целое число?

2. Ну, я подумал, что это даст переменной add строковое значение «добавить».

3. О, ты имеешь в виду, что добавить-это другой вид функции, и я не должен ее так называть ?

4. Спойлер: if(choose = add) не делает того, чего вы могли бы ожидать (и это верно для любого типа, который вы им даете).

5. @Эпплер-это не add ан int ? Как он может содержать строковое значение?

Ответ №1:

 add = "add";            
multiply = "multiply";
 

Здесь вам нужно либо использовать числа в качестве значений (потому что это целочисленные переменные), либо, если они нужны в качестве строк, вы должны удалить их из приведенной выше строки и записать их следующим образом:

 std::string add = "add";
std::string multiply = "multiply";
 

Ответ №2:

Вы определяете как «добавить», так и «умножить» как int, но затем пытаетесь присвоить им строковые значения. Они должны быть определены отдельно, если вы хотите, чтобы они были строками.

   int number1, number2, sumatotala, choose;
  string add = "add";
  string multiply = "multiply";