Warum wiederholt er mein geschriebenes Wort?
-
Da gibt er einfach das geschriebene Wort aus. Da ist es auch verständlich. Allerdings gibt es bei den cases nicht so ein cout.
-
Enthält ch ein Wort?
-
Ja, sobald ich was eingebe.
Aber default wird ja nur ausgeführt wenn keiner der Cases eintrifft?!
-
int ist also in C++ ein Datentyp, der Wörter aufnimmt?
-
Durch
switch ((char)ch)
wird die Variable gecastet und somit als Wort ausgegeben. Also werden die Buchstaben in Zahlen umgewandelt, damit int damit umgehen kann.
-
Wie passt denn ein ganzes Wort in ein int?
Nimmt char ein Wort auf?
-
Das hat was mit dem sogenannten "casten" zu tun. Ich kann mir vorstellen das er einfach die Buchstaben in die Char Werte umwandelt. ^^
-
Jetzt schwurbelst du nur noch. Offensichtlich ist mindestens eine deiner Annehmen falsch. Du solltest also die Fragen nochmal durchgehen. Mit einem Debugger kann man sich auch den Programmablauf genauer ansehen.
-
DubiTG schrieb:
Das hat was mit dem sogenannten "casten" zu tun. Ich kann mir vorstellen das er einfach die Buchstaben in die Char Werte umwandelt. ^^
cin.get() holt immer nur ein Zeichen ab. In dem Moment, wo Du per Enter-Taste das Einlesen veranlasst, wird die Schleife also für jeden Deiner eingegebenen Buchstaben ausgeführt. Für jedes Zeichen ungleich $ oder # wird dann in den default- Zweig gesprungen und das Zeichen ausgegeben - eines nach dem anderen, und nicht, wie Du wahrscheinlich vermutest, alle auf einmal ...
-
Klasse! Vielen Dank ^^
Ja genau so hatte ich das vermutet