PDA

View Full Version : [c++]ancora errore di sintassi


SCYHO
05-12-2005, 10:54
ciao.
io devo fare una cosa del genere:


int numero1;
cout << "INSERISCI UN NUMERO E PREMI INVIO" << endl;
cin >> numero1;
int numero2;
cout << "INSERISCI IL SECONDO NUMERO E PREMI INVIO" << endl;
cin >> numero2;
char oper[20];
cout << "INSERISCI L'OPERATORE MATEMATICO KE RELAZIONA I DUE NUMERI MA IN ITALIANO" << endl;
cin >> oper;
int ris;
if(oper == "+") { ris = numero1 + numero2; }

cout << "IL RISULTATO DELL'OPERAZIONE MATEMATICA e':" << ris << endl;

ma come al solito mi da errore nella riga if, l'errore di sintassi riguarda il carattere +. come mai?
grazie

ilsensine
05-12-2005, 11:01
Cambia qualcosa se definisci "oper" come

std::string oper;
eliminando contestualmente il grossolano buffer overflow cui ti sei esposto?

SCYHO
05-12-2005, 11:02
nn sono esperto...puoi spiegarmi meglio il tuo aiuto?

ilsensine
05-12-2005, 11:08
Non definire oper come char [20], ma come std::string. Questo oggetto ha l'operatore di confronto == per poterlo comparare ad altre stringhe.