Hilfe bei cout



  • Moin moin, leider habe ich im Forum keine Antwort für mein Problem gefunden. Kann mir jemand helfen? Wäre sehr denkbar für eine Lösung. Ich schreibe gerade mein erstes C++ Programm. Das Programm läuft in der Linux Konsole auch fehlerfrei, nur in der Windoof Konsole wird das Gradzeichen (°) bei cout nicht richtig angezeigt. Die deutschen Umlaute habe mit

    const unsigned char AE = static_cast<unsigned char>(142);
    const unsigned char ae = static_cast<unsigned char>(132);
    const unsigned char OE = static_cast<unsigned char>(153);
    const unsigned char oe = static_cast<unsigned char>(148);
    const unsigned char UE = static_cast<unsigned char>(154);
    const unsigned char ue = static_cast<unsigned char>(129);
    const unsigned char ss = static_cast<unsigned char>(225);

    eingebunden. Aber wie ich das mit dem Gradzeichen machen muß, weiß ich leider nicht.

    Danke für jede Antwort!



  • Nimm 248.



  • Und falls dir noch welche fehlen: Schau in der ASCII Tabelle.



  • Für die Zukunft:

    const char AE = 'Ä';
    const char ae = 'ä';
    const char OE = 'Ö';
    [...]
    


  • Funktioniert! 🙂
    Vielen Dank für die schnelle Hilfe und die Tips!
    Das werde ich gleich mal ändern.



  • Man kann sichs aber auch einfach machen und sich die Zeichen bequem ausgeben lassen. Mach ich immer so, bin zu faul zum suchen 😉

    #include <iostream>
    #include <limits>
    using namespace std;
    
    int main() {
        unsigned char ch;
        int wahl;
        do {
            cout << "1: Zeichen -> ASCII-Wert\n"
                 << "2: Alles ausgeben\n\nDeine Wahl: ";
                 if(!(cin >> wahl)) {
                     cerr << "Fehler bei der Eingabe!\nNochmal!\n\n";
                     cin.clear();
                     cin.ignore(numeric_limits<int>::max(), '\n');
                     continue;
                 }
                 switch(wahl) {
                     case 1:
                       cout << "Gebe EIN Zeichen ein: ";
                       cin >> ch;
                       cout << ch << " -> " << static_cast<int>(ch) << "\n\n";
                     break;
    
                     case 2:
                       for(int i = 0; i <= 255; ++i) {
                           cout << i << ": " << static_cast<char>(i) << "\t";
                       }
                       cout << "\n";
                     break;
    
                     default:
                     cout << "Zahl > 2 oder Zahl < 1!\n\n";
                 }
        } while(true);
    }
    

Anmelden zum Antworten