# Switch und Enum



## blong1550 (9. Dezember 2009)

Hallo
mein Programm sieht bisher wie folgt aus:


```
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


----------



## think about it (9. Dezember 2009)

hängt davon ab in welcher form deine eingabe sein soll ....


----------



## vfl_freak (9. Dezember 2009)

Moin,

ich fürchte, Du vergleichst Äpfel mit Birnen 

Schau mal hier:
http://www.willemer.de/informatik/cpp/enum.htm

Oder ähnliche Seiten zum ENUM, die sich auch sehr leicht mit  finden lassen 

Gruß
Klaus


----------



## Vereth (9. Dezember 2009)

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.


----------



## MCoder (10. Dezember 2009)

Was verbirgt sich überhaupt hinter dem Datentyp "Color"? 

Gruß
MCoder


----------



## vfl_freak (10. Dezember 2009)

Moin,



MCoder hat gesagt.:


> Was verbirgt sich überhaupt hinter dem Datentyp "Color"?



eine Enum"eraton (siehe erster Post) :

```
enum Color {red,green,blue};
// also: red = 0 / green = 1 / blue = 2
```

Gruß
Klaus


----------



## MCoder (10. Dezember 2009)

Oje, Leseschwäche am frühen Morgen :-(


----------

