Rofi
Erfahrenes Mitglied
Hi,
mit folgendem code wollte ich einzelne Zeichen von der Tastatur einlesen. Eigentlich sollten nach loslassen der einzelnen Tasten die Zeichen bereits umgewandelt am Bildschirm ausgegeben werden. So meine Vorstellung.
Statt dessen wird eingelesen bis zum Return und erst dann in der nächsten Zeile umgewandelt ausgegeben.
Der code stammt aus dem Buch C++ lernen u. professionell anwenden von Peter Prinz u. Ulla Kirch-Prinz. Ich glaube nicht, dass die beiden sich geirrt haben, aber es klappt nicht aus mir unerfindlichen Gründen.
Das Umwandeln klappt soweit bis auf die deutschen Umlaute (siehe Bild unten). Kann mir vielleicht jemand sagen, woran es liegen könnte.
Code:
// toupper
// Filter zur Umwandlung in Grossbuchstaben
#include <iostream>
#include <cctype>
using namespace std;
int main()
{
char c;
while (cin.get(c)) // solange einzelne Zeichen...
{
switch (c)
{ case 'ä': c = 'Ä';
break;
case 'ö': c = 'Ö';
break;
case 'ü': c = 'Ü';
break;
case 'ß': cout.put('S'); c ='S';
break;
default: c = toupper(c); // restliche
}
cout.put(c); // einzelnenes Zeichen ausgeben
}
return 0;
}
Bsp.:
Anhänge
Zuletzt bearbeitet: