Datentyp bool



  • Hallo Leute,

    habe gestern begonnen, mit dem Buch "Der C++-Programmierer" von Breymann mich etwas in C++ einzulesen und arbeite dabei mit Xcode.

    Zum besseren Verständnis des Datentyps bool habe ich hierzu den Beispiel-Code aus dem Buch (Kapitel 1.6.6, Seite 56) abgetippt, der Überprüfen soll, ob es sich bei einer Eingabe um einen Großbuchstaben handelt oder nicht, erhalte aber von Xcode folgende Fehlermeldungen für Zeile 11:

    - Comparison between pointer and integer ('int' and 'const char*')
    - Result of comparison against a string literal is unspecified (use strncmp instead)

    Hier der von mir verwendete Code:

    #include <iostream>
    using namespace std;
    
    int main() {
    
        bool Buchstabe;
        char c;
    
        cin >> c;
    
        Buchstabe = (c >= "A") && (c <= "Z");
        cout << Buchstabe;
    
        return 0;
    
    }
    

    Würde mich über Rückmeldungen bzw. Erläuterungen freuen!

    Beste Grüße

    Edit 1: Hinzufügen der Zeilenangabe
    Edit 2: Habe das Problem jetzt durch Verwenden von ' statt " lösen können. Doch leider wird beim Ausführen des Programms nicht die Eingabe von c ermöglicht. Dies ist nur dann möglich, wenn ich vorher noch die Anweisung

    cout << "Text";
    

    hinzufüge. Lässt sich das nicht einfach durch cin überprüfen?



  • Du hast das Beispiel vmtl. falsch abgetippt.

    '' benutzt Du für ein einzelnes Zeichen, also ein char .
    "" hingegeben benutzt Du für Strings, also ein const char* .



  • du vergleichst c aber nicht mit einem Buchstaben, sondern mit einem String, bzw. um genau zu sein: mit seiner Adresse, welche mit an Sicherheit grenzender Wahrscheinlichkeit größer als 255 ist.

    Aufgabe für dich:
    schau nochmal in das Kapitel über Datentypen und Literale.



  • Alles klar! Vielen Dank für die zügige Rückmeldung!


Log in to reply