chidori19
(usa Ubuntu)
Enviado em 07/05/2015 - 23:07h
eu compilo normalmente o programa
quando entro com um operador invalido ele me da a mensagem normalmente como tem que ser feito. exceto se o carácter for 'e' ou 'ç'
seu digitar por exemplo 12ç e apertar enter ele entra em loop,mas se eu digitar 12r ou qualquer outro carácter que não seja 'e' ou 'ç' ele da a mensagem de operador invalido.
e com if no lugar do while o erro ainda continua só que sem o loop obvio.
o codigo é esse
#include <iostream>
using namespace std;
int main( ){
float valor1, valor2,resultado ;
char operador;
cout<<"\n\n+ - x /";
cout<<"\n\nexemplo 1+1 ";
cout<<"\n\nDigite a operação: ";
cin >> valor1>>operador>>valor2;
while(operador!= '+'&& operador != '-' && operador != 'x'&& operador != '/'){
cout << "\nOperador invalido";
cout <<"\nTente novamente\n";
cout<<"\n\n+ - x /\n";
cout<<"Digite a Operação ";
cin>>valor1>>operador>>valor2;
}
if( operador == '+' ){
resultado = valor1 + valor2;
}
else if( operador == '-'){
resultado = valor1 - valor2;
}
else if( operador == 'x'){
resultado= valor1 * valor2;
}
else if( operador == '/'){
resultado= valor1 / valor2;
}
cout <<"\no resultado da operação é: " <<resultado;
return 0;
}