Die Aufgabe war nen Programm zu schreiben, dass ne Zahl zwischen 1 und 100 errät.
Ich denke grundsätzlich stimmts bei mir aber die Schleife bricht nicht ab, wenn ich z.B. am Ende zig mal die 1 drücke. Ich dachte das Problem hätte ich mit den Hilfsvariablen b und c gelöst, funktioniert aber trotzdem nicht.
Wenn mir einer helfen könnte wärs nett.
Greg
#include<iostream>
using namespace std;
int main() {
cout<< "Denken sie sich eine Zahl zwischen 1 und 100" << endl;
int x=0;
int y=100;
int z=50;
int a;
int b;
int c;
while ((x!=y)||(b!=y)||(c!=x))
{ z=(x+y)/2;
cout<< "Ist ihre Zahl groesser gleich als " << z << " geben sie 1 ein ansonsten 2 ." << endl;
cin>> a;
if (a==1)
{ b=x;
x=z;
}
else
y=z;
c=y;
}
if (cin.fail())
cout<< "Versuchs das naechste Mal mit ner Zahl " << endl;
else
cout<< "Ist ihre Zahl " << z << "?" << endl;
system ("pause");
return 0;
}
Ich denke grundsätzlich stimmts bei mir aber die Schleife bricht nicht ab, wenn ich z.B. am Ende zig mal die 1 drücke. Ich dachte das Problem hätte ich mit den Hilfsvariablen b und c gelöst, funktioniert aber trotzdem nicht.
Wenn mir einer helfen könnte wärs nett.
Greg
#include<iostream>
using namespace std;
int main() {
cout<< "Denken sie sich eine Zahl zwischen 1 und 100" << endl;
int x=0;
int y=100;
int z=50;
int a;
int b;
int c;
while ((x!=y)||(b!=y)||(c!=x))
{ z=(x+y)/2;
cout<< "Ist ihre Zahl groesser gleich als " << z << " geben sie 1 ein ansonsten 2 ." << endl;
cin>> a;
if (a==1)
{ b=x;
x=z;
}
else
y=z;
c=y;
}
if (cin.fail())
cout<< "Versuchs das naechste Mal mit ner Zahl " << endl;
else
cout<< "Ist ihre Zahl " << z << "?" << endl;
system ("pause");
return 0;
}