if Block funktionier nicht
-
Hallo
Ich will mit diesem if Block überprüfen ob der user einen der vorgegeben Operatoren eingegeben hat.
Operatortest: cout << "Geben sie einen Operator ein" << '\n'; cin >> Operator; if ((Operator != '*') || (Operator != '/') || (Operator != '-') || (Operator != '+')) { cout << "ungueltiger Operator!" << '\n'; goto Operatortest; }
Nur selbst wenn ich einen der vorgegeben Operatoren eingebe springt er zurück zu "Geben sie einen Operator ein".
Mfg
-
Veruch mal &&
-
Danke jetzt geht es.
Nur ich verstehe nicht wieso es mit || nicht funktioniert. Hier http://de.wikibooks.org/wiki/C++-Programmierung:_Kontrollstrukturen steht, dass || oder bedeutet.
-
Jan91x schrieb:
Danke jetzt geht es.
Nur ich verstehe nicht wieso es mit || nicht funktioniert. Hier http://de.wikibooks.org/wiki/C++-Programmierung:_Kontrollstrukturen steht, dass || oder bedeutet.Ja, es bedeutet oder. Wenn Operator != * false ist, was liefern dann die Anderen Vergleiche?
-
Hier mal eine Tabelle, die Deine Bedingung wiederspiegelt.
Eine Zeile (Operator ist '*') habe ich schon ausgefüllt. Versuch mal die Tabelle zu komplettieren:| A | B | C | D | |nicht * |nicht / |nicht + |nicht - | A || B || C || D ---------------------------------------------------------------- * | - | + | + | + | + / | | | | | + | | | | | - | | | | |
Was passiert bei anderen Zeichen als Eingabe?
-
danke
jetzt habe ich es verstanden.