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