Programm soll Zahl erraten





  • Bei mir funktionierts:

    $ g++ -o game game.cpp
    
    $ ./game
    Denken Sie sich eine Zahl zwischen 0 und 20 aus
    
    Ist es die 10 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 10 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 2
    Ist es die 15 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 15 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 2
    Ist es die 17 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 17 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 2
    Ist es die 18 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 18 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 2
    Ist es die 19 ? (Ja = 1 ; Nein = 0) 1
    Ihre ausgedachte Zahl ist die 19
    


  • ZB zahl 16 denk ich mir aus!

    10?

    nein--> 0

    größer --> 2

    15?

    nein--> 0

    größer --> 2

    17?

    nein--> 0

    kleiner --> 1

    8? <-- Ich weiß wieso er mich dann nach der 8 fragt aber mir fällt nicht ein wie ich auf die richtige lösung kommen soll

    fehler muss bei case 1 UND 2 liegen in der matheformel



  • Hier funktionierts auch, bis auf dass sich mein Compiler über "using namespace std;" beschwert.



  • Nanyuki schrieb:

    Hier funktionierts auch, bis auf dass sich mein Compiler über "using namespace std;" beschwert.

    😮 Was ist das denn für ein Ding?



  • Zahlen wie zb 16! gehen net 😞



  • darthdespotism schrieb:

    😮 Was ist das denn für ein Ding?

    Es nennt sich C++Builder 1.

    sasdgsdg schrieb:

    Zahlen wie zb 16! gehen net 😞

    Probier mal in beiden Fällen

    tip = ((max-min)/2)+min;
    

    zu schreiben.



  • funktioniert 🙂 danke Poste nachher nochmal die Final Version 🙂



  • sasdgsdg schrieb:

    Zahlen wie zb 16! gehen net 😞

    Ohne die Anpassung:

    $ ./game
    Denken Sie sich eine Zahl zwischen 0 und 20 aus
    
    Ist es die 10 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 10 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 2
    Ist es die 15 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 15 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 2
    Ist es die 17 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 17 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 1
    Ist es die 8 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 8 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 2
    Ist es die 12 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 12 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 
    2
    Ist es die 14 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 14 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 2
    Ist es die 15 ? (Ja = 1 ; Nein = 0) 0
    
    Ist die ausgedachte Zahl kleiner oder groesser als 15 ?
    
    Wenn die Zahl kleiner ist, druecken sie die 1; ansonsten die 2 2
    Ist es die 16 ? (Ja = 1 ; Nein = 0) 1
    Ihre ausgedachte Zahl ist die 16
    


  • So gehts jetzt!

    #include <iostream>
    using namespace std;
    
    int main(){
    
       int min=0,max=20,tip=(max-min)/2;
       int frage1,frage2,frage3,wahl,fall=0;
    
       cout<<"#########################################################"<<endl;
       cout<<"# Denken Sie sich bitte eine Zahl zwischen 0 und 20 aus #"<<endl;
       cout<<"#########################################################"<<endl;
       cout<<"\nIst es die "<<tip<<" ? (Ja = 1 ; Nein = 0) ";
       cin>>frage1;
    
        if(frage1==1){cout<<"\nDie ausgedachte Zahl lautet: "<<tip<<"\n"<<endl;}
    
    	else{cout<<"Ist es die "<<min<<" ? (Ja = 1 ; Nein = 0) ";
    		 cin>>frage2;
    
    		if(frage2==1){cout<<"\nDie ausgedachte Zahl lautet: "<<min<<"\n"<<endl;}
    
    		else{cout<<"Ist es die "<<max<<" ? (Ja = 1 ; Nein = 0) ";
    			 cin>>frage3;
    
    			if(frage3==1){cout<<"\nDie ausgedachte Zahl lautet: "<<max<<"\n"<<endl;}
    
    			else{
    				//Anfang while
    				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 = ((max-min)/2)+min;
    
    						cout<<"\n##### Ist es die "<<tip<<" ? (Ja = 1 ; Nein = 0) #####";
    
    						cin>>fall;
    						break;
    
    				case 2: min=tip; 
    						tip = ((max-min)/2)+min;	
    						cout<<"\n##### Ist es die "<<tip<<" ? (Ja = 1 ; Nein = 0) #####";
    						cin>>fall;
    						break;
    
    				default: cout<<"\nBitte halten Sie sich an die Anweisungen!"<<endl;
    							 } 
    							}
    				//Ende while
    
    				cout<<"\n##### Ihre ausgedachte Zahl ist die "<<tip<<" #####"<<endl;
    				}
    			}
    		} 
      return 0;
    }
    

Anmelden zum Antworten