Switch und Enum

  • Themenstarter Themenstarter blong1550
  • Beginndatum Beginndatum
B

blong1550

Hallo
mein Programm sieht bisher wie folgt aus:

Code:
	string x;
	cin >> x;
	enum Color {red,green,blue};
	Color color = x;


	switch(color)
	{
		case red: // wenn color den Wert red hat
			cout << "Du hast red ausgesucht" << endl;
			break; // beende die switch Anweisung
		case blue: // wenn color den Wert blue hat
			cout << " Du hast blue ausgesucht" << endl;
			break;
		case green: // wenn color den Wert green hat
		cout << "Du hast green ausgesucht" << endl;
		break;
	}

Ich denke was ich machen will ist klar. Nochmal kurz:
Ich habe ein Enum mit 3 Farben.
Der Nutzer soll nun eine Farbe eingeben.
Danach wird je nach Farbe die er eingegeben hat mit Switch eine Meldung ausgegeben.

Nur funktioniert das auf die Art leider nicht, weil ich color weder auf einen String noch auf einen Int setzen kann.
Wie müsste man das machen?

Grüße
 
Deine Eingabe ist vom Typ string, dein enum ist aber ein int-Wert. Du kannst aber einen String nicht einer int- bzw. enum-Variablen zuweisen. Du musst den String parsen (d.h. untersuchen was drinsteht), um dann an color den entsprechenden Wert zuzuweisen. Den kannst du dann in deinem switch weiterverwenden.
 
Zurück