Ergebnis 1 bis 10 von 10

Thema: C++ Verständnisfrage zu logischem Operator

  1. #1
    Unregistriert
    Gast

    Frage C++ Verständnisfrage zu logischem Operator

    Hi Leute,

    ich bin schon länger auf der Suche nach einer Erklärung für das Verhalten von folgendem Code:

    #include <iostream>
    using namespace std;

    int x, y, Variable;
    char ende;

    int main ()

    {
    do
    {
    cout << "Bitte x eingeben: ";
    cin >> x;
    cout << "Bitte y eingeben: ";
    cin >> y;

    Variable = x > 3 && y < 4;
    cout << Variable << endl;
    cout << "Beenden mit <e> oder <E>" << endl;
    cin >> ende;
    }
    while (ende != 'e' || ende != 'E');

    Mir geht es jetzt um die do-while Schleife. Nach meiner Logik müsste das Programm nach der Eingabe von <e> oder <E> abbrechen.
    Das Programm läuft aber weiter. Ich weiß, daß das Programm mit einer && Verknüpfung so funktionieren würde wie ich es geplant hatte.
    Mir geht es jetzt darum das Verhalten zu verstehen:
    bei einer und-Verknüpfung müssten ja beide Bedingungen zutreffen, aber das kann ja nie der Fall sein, Variable "ende" kann nicht e und E gleichzeitig sein.
    Umgekehrt bei der oder-Verknüpfung muß ja nur eine Bedingung zutreffen. Das ist doch im oberen Beispiel der Fall. Wie gesagt nach meinem Verständnis...
    Kann mich bitte bitte irgendwer aufklären,warum die oder-Verknüpfung im Beispiel oben so nicht funktioniert???

    Danke
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Interessierte/r
    Registriert seit
    12.01.2009
    Ort
    nähe Trier
    Alter
    35
    Beiträge
    131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: C++ Verständnisfrage zu logischem Operator

    Hallo,

    wie du schon richtig festgestellt hast, musst du das mit einer &&-Verknüpfung lösen.

    Die Erklärung:
    Angenommen du gibst 'e' ein.
    ende != 'e' == false
    ende != 'E' == true

    false || true == true -> Schleife läuft weiter.

    ende darf ja beides nicht sein. Also ende darf weder 'e' noch 'E' sein. Die Bedinung muss also lauten: Solange ende ungleich 'e' und ende ungleich 'E', laufe weiter.


    Ich hoffe die Erklärung ist halbwegs verständlich.

    Gruß

    Sascha
    Geändert von sashs (30.01.2009 um 12:56 Uhr)

  3. #3
    Unregistriert
    Gast

    Standard AW: C++ Verständnisfrage zu logischem Operator

    Allerbesten Dank sashs,

    deine Erklärung ist sehr verständlich!

    In einem anderen Forum hat mir jemand so geantwortet(netterweise ist ja nicht selbstverständlich):

    "Mindestens einer der beiden Ver(un)gleiche ist wahr für jeden beliebigen Wert von 'ende' (falls ende gleich 'e' dann ist es auf jeden Fall ungleich 'E' und andersherum). Der Gesamtausdruck (durch logische Oder-Verknüpfungen) ist dann auch immer wahr und damit entsteht eine Endlosschleife."

    Das hab ich ehrlich gesagt noch immer nicht ganz verstanden...

    Nochmals Danke!

  4. #4
    Interessierte/r
    Registriert seit
    12.01.2009
    Ort
    nähe Trier
    Alter
    35
    Beiträge
    131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: C++ Verständnisfrage zu logischem Operator

    Er sagt eigentlich das gleiche wie ich.

    Ich hab allerdings versucht, es an einem Beispiel deutlich zu machen.
    Das ist meistens verständlicher.

    Gruß

    Sascha

  5. #5
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: C++ Verständnisfrage zu logischem Operator

    Neue nette Forenmitglieder werden hier wirklich gebraucht!
    Hoffe man sieht dich weiterhin so häufig.

  6. #6
    Unregistriert
    Gast

    Frage AW: C++ Verständnisfrage zu logischem Operator

    @ The User:

    Naja, wenn schon jemand so nett ist und bei einem Problem hilft sollte ein Danke und 'ne höfliche Umgangsform doch das mindeste sein...

    Ich kenn ja leider persönlich niemand der sich mit Programmierung beschäftigt, den ich hätte fragen können, und die Tutorrials und Bücher (so hilfreich sie auch sind) nützen dir in dem Moment dann auch nicht...

  7. #7
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: C++ Verständnisfrage zu logischem Operator

    Ja klar, bloß finde ich, dass das Forum hier etwas abgebaut hat und begrüße daher sehr gerne nette User.

  8. #8
    Interessierte/r
    Registriert seit
    12.01.2009
    Ort
    nähe Trier
    Alter
    35
    Beiträge
    131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: C++ Verständnisfrage zu logischem Operator

    Ich finde das auch gut, wenn sich jemand bedankt. So hat man auch ein Feedback, ob es man geholfen hat.

    Genauso finde ich es positiv, dass du eine gute Ausdrucksweise hast. Also nicht so schreibst wie du sprichst oder sowas.
    Ich persönlich finde es gut, wenn man auf sowas achtet.

    Gruß

    Sascha

  9. #9
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: C++ Verständnisfrage zu logischem Operator

    Ich bezweifle, dass es jemand schafft so zu sprechen, wie manche Leute schreiben.

  10. #10
    Interessierte/r
    Registriert seit
    12.01.2009
    Ort
    nähe Trier
    Alter
    35
    Beiträge
    131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: C++ Verständnisfrage zu logischem Operator

    Das stimmt auch wieder.

Ähnliche Themen

  1. enum operator<
    Von The User im Forum Forum für alle anderen Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 01.06.2008, 22:29
  2. operator= für double.operator= double
    Von The User im Forum Forum für alle anderen Programmiersprachen
    Antworten: 5
    Letzter Beitrag: 21.04.2008, 23:02
  3. Klasentemplate - operator[]
    Von The User im Forum Forum für alle anderen Programmiersprachen
    Antworten: 0
    Letzter Beitrag: 06.04.2008, 14:48
  4. Oder Operator
    Von Haacon im Forum Forum für alle anderen Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 22.07.2007, 23:56
  5. verständnisfrage zu "santa rosa"
    Von Netvampier im Forum Computer - Internet Forum
    Antworten: 3
    Letzter Beitrag: 30.05.2007, 18:24

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •