Zitat von
3_of_8:
OK, hier mal mein ganzer Code
Zitat von
3_of_8:
Ich hab einen char op;
Da liegt der unterschied.
Mit op[1] legst du ein charArray an, also ist der Typ, den op am ende hat,
char*, sowas wie ein normaler String, bei dir eben mit fixer Laenge 1. Du hast also nen Zeiger, und willst einen Zeiger mit einer Konstante vergleichen:
Code:
char* z;
if (z == "mops")...
Wobei: "mops" ist ein String, am Ende also auch nur ein Zeiger. Normalerweise kann man Zeiger auf vergleichen, kein Problem, aber anscheinend ist es bei Konstanten eben ein bisschen anders. Damit duerfte die Loesung, die HERMES dir gegeben hat, naemlich strcmp, einwandfrei funktionieren.
Ich bin mir nicht sicher, aber was auch klappen duerfte waere folgendes:
op wird damit zu einem char degradiert und der vergleich kann ohne strcmp stattfinden.
und nochwas....
Zitat von
3_of_8:
Code:
cin>>op;
//..
op=='+'||op=='-'||op=='*'||op=='/'
//...
if(op=="+") cout<<oprnd1<<"+"<<oprnd2<<"="<<oprnd1+oprnd2;
In C wird Code sehr schnell unübersichtlich, ich kann dir gern dafür ein Beispiel geben
jedenfalls würde ich dir den Einsatz von leerzeichen empfehlen
greetz
Mike
Box? *grml8