char eingeben und in Zahl umrechnen?
-
Hi Leute!
Ich möchte über cin ein char in die Variable "op" einlesen z.B. ein "+". Danach möchte ich das mir switch anhand der Zahl die hinter dem "+" steckt den richtigen Case ausführt. Dazu muss ich ja nun den eingegebenen char in eine Zahl umwandeln. Wie macht man das am geschicktesten?
Ich habs schon mal so versucht:
#include<iostream> using namespace std; int main() { char op; int zahl1, zahl2, erg; cout << "Zahl 1 eingeben: "; cin >> zahl1; cout << endl << "Operator eingeben (moeglicher Operator: +, -, *, /, %): "; cin >> op; cout << "Zahl 2 eingeben: "; cin >> zahl2; op = op - 48; cout << "op = op - 48 = " << op << endl; system("pause"); return 0; }Funktioniert aber nicht wirklich so wie ich will, da nach "- 48" eine "hoch eins" erscheint...
Könnt ihr mir helfen?
-
bandchef schrieb:
Dazu muss ich ja nun den eingegebenen char in eine Zahl umwandeln.
Nö, wozu? Du kannst durchaus auch '+', '-', '*' und '/' als case-Marken benutzen. Für den Compiler sind char-Literale auch nur Zahlen. Pass aber auf, dass du einfache Anführungsstriche nimmst, doppelte Anführungszeichen würden ein Array von const chars bedeuten, das wäre dann nicht mehr etwas was man in switch benutzen kann.
-
Danke ich hab selbst gefunden was ich gesucht habe...