Boa tarde! Sou o Rafael conhecido como (Takamasu). Estudante de Análise e Desenvolvimento de Sistemas (2º período) na Estácio de Sá. Bem, estou tentando criar uma tabuada que mostra apenas os cálculos da tabuada do número e da operação solicitados. Minha dúvida é a seguinte: Quero saber como comparar cada caractere, que no caso, são as operações que existem nessa tabuada ( soma (+), subtração (-), multiplicação (*) e divisão (/) ).
Só estou conseguindo comparar 1 sinal. Quero que o código pergunte por exemplo: Se o diferente de +, -, * ou /, mostre uma mensagem de erro solicitando que digite novamente a operação e assim que a operação for uma dessas quatro ele continue com a execução do programa. Segue aqui meu código:
#include <iostream>
#include <locale.h>
using namespace std;
int main(){
setlocale(LC_ALL, "Portuguese");
cout << "--- TABUADA ---\n\n";
int operador = 0;
char operacao;
cout << "Operador: ";
cin >> operador;
cout << "Escolha a operação ( + - * / ): ";
cin >> operacao;
while ( operacao != '+' /* comparar com estes valores +, - , * e /. */ ){
cout << "Operacao invalida. Selecione novamente: ";
cin >> operacao;
}
/* --- OPERADOR ABAIXO --- */
if (operacao == '+'){
for (int a = 0 ; a < 10 ; a++){
cout << operador << " + " << a << " = " << operador + a << "\n";
}
}
if (operacao == '-'){
for (int a = 0 ; a < 10 ; a++){
cout << operador << " - " << a << " = " << operador - a << "\n";
}
}
if (operacao == '*'){
for (int a = 0 ; a < 10 ; a++){
cout << operador << " * " << a << " = " << operador * a << "\n";
}
}
if (operacao == '/'){
for (int a = 0 ; a < 10 ; a++){
cout << operador << " / " << a << " = " << operador / a << "\n";
}
}
cout << "\n";
system("pause");
return 0;
}