Как использовать перечисление при выборе типа операций

#c #c 11 #visual-c

#c #c 11 #visual-c

Вопрос:

Я пытаюсь создать математическую игру, в которой есть арифметические операции, такие как сложение ( ), вычитание (-), умножение (*) и деление (/), где пользователь может выбрать, какую из четырех операций из четырех они хотят выбрать. И я хочу знать, как использовать перечисление для четырех различных типов операций, которые я пока включил только

 enum class Operations{
    Add,
    Subtract,
    Multiply,
    Divide,
};
 

и теперь я не знаю, что добавить после этого.

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

1. Создайте переменную Operations (объект enum) и позвольте пользователю выбрать одну из операций. Вы должны дать еще немного информации, чтобы кто-нибудь мог помочь

Ответ №1:

Хотя перечисления могут создавать проблемы, в вашем случае использование простых перечислений будет работать. Члены перечисления неявно преобразуются в int . Это может помочь в вашем случае определить, какую операцию хочет выполнить пользователь.

 enum Operation
{
  Add, //0
  Subtract, //1
  Multiply, //2
  Divide //3
}operations_e;

 

Затем получите операнды от пользователя

 cin>>a;
cin>>b;
 

Затем получите операцию, которую пользователь хочет выполнить:

 cout<<"Enter the operation you want to perform"<<endl;
cout<<"Enter 0 for ADD"<<endl;
cout<<"Enter 1 for SUBTRACT"<<endl;
cout<<"Enter 2 for MULTIPLY"<<endl;
cout<<"Enter 3 for DIVIDE"<<endl;

//Take user input into enum variable
cin>>operations_e;
 

Затем переключитесь на перечисление

 switch(operations_e)
{
  case Add:
   //add the operands
   break;
  case Subtract:
   //subtract operands
   break;
  case Multiply:
   //multiply operands
  break;
  case Divide:
   //divide operands
   break;
  default:
   //add default case. Not necessary for enums as they are robust
   //but a good practice mention the default case
  break;
}