Programm soll Zahl erraten
-
Hallo

Finde einfach meinen Fehler nicht

Wäre cool wenn mal jmd drüberschauen könnte ... klappt iwie net so wie ich will#include <iostream> using namespace std; int main(){ int min=0,max=20,tip=(max-min)/2; int frage1,wahl,fall=0; cout<<"Denken Sie sich eine Zahl zwischen 0 und 20 aus"<<endl; cout<<endl; cout<<"Ist es die "<<tip<<" ? (Ja = 1 ; Nein = 0) "; cin>>frage1; if(frage1==1){cout<<"\nDie ausgedachte Zahl lautet: "<<tip<<"\n"<<endl;} else{ while(fall==0){ cout<<"\nIst die ausgedachte Zahl kleiner oder groesser als "<<tip<<" ?\n"<<endl; cout<<"Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 "; cin>>wahl; switch (wahl){ case 1: max=tip; tip = (tip/2); cout<<"Ist es die "<<tip<<" ? (Ja = 1 ; Nein = 0) "; cin>>fall; break; case 2: min=tip; tip = ((max-tip)/2)+tip; cout<<"Ist es die "<<tip<<" ? (Ja = 1 ; Nein = 0) "; cin>>fall; break; default: cout<<"Bitte halten Sie sich an die Anweisungen!"<<endl; } } cout<<"Ihre ausgedachte Zahl ist die "<<tip<<endl; } return 0; }
-
ok, hab drübergeguckt.
-
Ich habe auch drübergeschaut. Das programm funktioniert andwandfrei. Habe den Quelcode eingefügt und gestartet, funzt.
Woran liegt den das Problem?
-
IMHO ist dieser Algorithmus nur geeignet Zahlen >=0 und <=19 zu ermitteln.
Er ist typisch C/C++ incl. lower bound, excl. upper bound.Es müsste IMHO heißen:
cout<<"Denken Sie sich eine Zahl zwischen 0 und 19 aus"<<endl;