String nach Bool



  • Hallo Zusammen.

    Erst mal frohe Weihnachten.

    Weiß jemand wie Ich in C++ aus einem String mit Hilfe von Bool einen Logischen Ausdruck berechnen kann.
    Also zum Beispiel:
    Der String hat folgenden Inhalt (1|1&0).
    Jetzt möchte ich aus diesem String mit Hilfe von Bool mein Ergebnis berechnen lassen.
    Als Ergebnis müsste ich 1 erhalten, dieses Funktioniert aber nur wenn ich den Inhalt das Strings direkt in die Variable eingebe.

    #include <string>
    #include <iostream>
    using namespace std;

    int main ()
    {
    bool Eingabe;

    Eingabe = (1|1&0); //Eingabe in die Variable soll später aus den String kommen

    cout << Eingabe << endl;

    cin.get();
    return 0;
    }

    Vielen Dank für die Hilfe!



  • Wie möchtest du den rausbekommen ob der String true oder false ist ?



  • Ich möchte einfach das Ergebnis der Rechnung (1|1&0) bekommen.
    Dieses müßte 1 sein da 1&0 = 0 ist und die Oderverknüpfung 0|1 = 1 ist.
    Es ist eine Rechnung aus der Digitaltechnik.
    Mein Problem ist jetzt nur das ich diese rechnung (1|1&0) in einem String habe.
    Diesen muß ich jetzt in eine Bool Variable übergeben damit ich es ausgerechnet bekomme. Als Wert sollte er mir den Wert 1 (True) zurückgeben. Oder bei einer anderen Rechnung den Wert 0 (false).
    Vielen Dank für die Mühe.



  • Dr. Nitro schrieb:

    Ich möchte einfach das Ergebnis der Rechnung (1|1&0) bekommen.
    Dieses müßte 1 sein da 1&0 = 0 ist und die Oderverknüpfung 0|1 = 1 ist.

    Wer sagt das? Genauso gut kann 0 rauskommen, wenn eine left-to-right Evaluation vorgenommen wird.
    Für dein Problem brauchst du jedenfalls sowas wie einen Parser. Für sowas simples kann man sich das selber basteln. Dazu kannst du dir ja mal std::stringstream anschaun.


Anmelden zum Antworten