Zufallszahl 1-100



  • Storm.Xapek.de schrieb:

    Ever-Frost schrieb:

    Ok ich versuche auch die n bissel um zuschreiben, weil ich eine Zufallszahl von 1-100 brauche aber daran kanns ja nich liegen :S
    🙄 😃

    Hä? 😕

    Drück dich bitte verständlicher aus,
    und poste mal wo den genau dein Problem liegt.

    Also eine konkrete Frage mit zugehörigem Code
    und den Fehlermeldungen.

    Ich habe die gefundenen codes versucht umzuschreiben damit ich eine Zufallszahl von 1-100 bekomme. Das schaffe ich aber nicht. Frage: wie mache ich das?

    Ich versuche grade ein Programm für meine kleine schwester (6) zum "spielen" zu schreiben. Mr. X nennen die das in der Schule: jemand denkt sich eine Zahl zwischen 1 und 100 aus und dann werden Zahlen vorgeschlagen. Als Tipp wird dann immer < oder > gesagt. So und sie nervt mich ziemlich mit diesem Spiel also wollte ich das ein Programm für mich machen lassen 🤡

    Aber ich werde jez ma Markus artikel lesen und die geposteten codes in meinen code versuchen zu schreiben. Da steht bisher nu, dass die spielregeln ausgegeben werden und das funzt auch.

    Danke für eure antworten!



  • Hallo

    Hä?? Die codes waren doch schon für Zufallszahlen zwischen 1 und 100. Zeig doch endlich mal etwas geschriebenen Code. das wurde doch auch schon ein paarmal geschrieben. Mit dessen Hilfe kann dir dann sicher auch geholfen werden.

    chrische



  • #include <iostream>
      using namespace std;
    
    int main ()
    {     char *ende;
        cout << "Ich denke mir eine Zahl zwischen 1 und 100 aus. Und du musst versuchen sie zu erraten! Also dann =)\n";
        cin.get();
    
    }
    
    int main(void)
    {
        int Zufallszahl = (rand()%100)+1;
        cout << Zufallszahl << endl;
        return 0;
    }
    

    ... geht trotzdem nicht...

    Ausserdem hatte ich schon einen Teilcode gepostet 🙂
    Das andere is doch nur die "Sielregel"...



  • ok, falsch, Grundlagentutorial machen bitte.

    es gibt nur eine main (genauer gesagt int main) Funktion pro Programm.

    EDIT: du brauchst für dein Programm eine while-Schleife, eine if-Anweisung und natürlich das mit dem Zufall. Der Anfang wäre so:

    #include <cstdlib>
    #include <ctime>
    
    using namespace std;
    
    int main(void)
    {
        srand(time(0));
        int zahl = rand()%100+1;
        return 0;
    }
    

    Damit hast du eine Zufallszahl (sie steht in der Variablen zahl) Du musst dir jetzt dahinter nur noch die Abfrage und die Ausgabe von kleiner groeszer richtig schreiben.



  • Hallo

    Du solltest unbedingt ganz von vorne anfangen. Bitte nimm mir dies nicht übel, aber dann machst du es gleich richtig und schreibst keine 2 main-Funktionen.

    chrische



  • Machs halt so

    #include <iostream>
      using namespace std;
    
    void Aufgabenstellung ()
    {     char *ende; //was bringt das denn?
        cout << "Ich denke mir eine Zahl zwischen 1 und 100 aus. Und du musst versuchen sie zu erraten! Also dann =)\n";
        cin.get();
    
    }
    
    int main(void)
    {
    Aufgabenstellung (); // führt obriges aus
        int Zufallszahl = (rand()%100)+1; //Zufallszahl von 0-100
        cout << Zufallszahl << endl;
        return 0;
    }
    


  • @Kaffee: Ohne das char*ende gings bei mir nich... Bei deinem bekomm ich aber nen haufen fehlermeldungen wenn ichs genauso kopiere und ausprobiere:

    cpp: In function int main()': cpp:14: parse error beforeint'
    cpp:15: Zufallszahl' undeclared (first use this function) cpp:15: (Each undeclared identifier is reported only once cpp:15: for each function it appears in.) cpp:16: implicit declaration of functionint system(...)'

    @Shinja : Käme die Aufgabe und so dann hinter den code den du geposted hast?

    @chrische5: Tu ich nich... Muss ich auch wohl 🙄



  • Ever-Frost schrieb:

    @chrische5: Tu ich nich... Muss ich auch wohl 🙄

    Kannst du das auf deutsch übersetzen? Ich probiere es mal: mach ich nicht, weil ich es nicht brauche. Ist das richtig?

    Da fehlt ein Semikolon nach dem Funktionsaufruf:

    Aufgabenstellung();
    

    Das kannst du aber auch selber merken.

    chrische



  • Nein, ich nehme es dir nich übel und muss ich wohl war darauf bezogen dass ich das neu machen muss 😉

    Oh man... stimmt, sry^^



  • dann hab ich aber imma noch fehler.... Oh, man ich glaub ich setz mich da heut abend nochma in ruher dran 😮



  • chrische5 schrieb:

    Da fehlt ein Semikolon nach dem Funktionsaufruf:

    Aufgabenstellung();
    

    Oh sry hab ich vergessen hinzuschreiben 🙂
    Edit: Warum sollte das ohne *char ende nicht funktionieren?



  • Hallo

    Ever-frost schrieb:

    dann hab ich aber imma noch fehler.... Oh, man ich glaub ich setz mich da heut abend nochma in ruher dran 😮

    Zum achten Mal: Zeig die Fehler, zeig den Code.

    chrische



  • Ever-frost schrieb:

    dann hab ich aber imma noch fehler.... Oh, man ich glaub ich setz mich da heut abend nochma in ruher dran 😮

    Außer dem Semikolon funktionierts bei mir.
    Zeig die Fehler!



  • @Kaffee: Jez is es nur noch einer

    implicit declaration of function `int rand(...)'

    Und ich weiß nich warums ohne char*ende nich gefunzt hatte, das hatten wir halt so in der schule mal und ich habs ausprobiert und dann gings 🙂

    @chrische5 : Ich zeig euch doch Codes und Fehler o.0



  • Hallo

    Nun müsstest du nur noch den entsprechenden Code zeigen. Am Besten per paste&copy aus dem Editor ins Forum.

    chrische



  • Der Code war doch der von Kaffee... mom

    #include <iostream>
      using namespace std;
    
    void Aufgabenstellung ()
    {     char *ende; //was bringt das denn?
        cout << "Ich denke mir eine Zahl zwischen 1 und 100 aus. Und du musst versuchen sie zu erraten! Also dann =)\n";
        cin.get();
    
    }
    
    int main(void)
    {
    Aufgabenstellung (); // führt obriges aus
        int Zufallszahl = (rand()%100)+1; //Zufallszahl von 0-100
        cout << Zufallszahl << endl;
        return 0;
    }
    


  • Da fehlt eindeutig ein 'include <cstdlib>' am Programmanfang - und es wäre eine gute Idee, nach dem Programmstart mal srand() aufzurufen 😉

    (und das 'char* ende;' hat keine Auswirkungen)



  • Ever-Frost schrieb:

    int Zufallszahl = (rand()%100)+1; //Zufallszahl von 0-100
    

    Ja, mit solchen Kommentaren kann man sich schön selbst verarschen. Wie soll denn da bitte jemals die 0 bei rauskommen?



  • #include <ctime> // time( )
    #include <cstdlib> // srand( ), rand( )
    #include <iostream> // cin, cout
    
    using namespace std;
    
    int main( ) {
    
    	srand( static_cast< unsigned int >( time( 0 ) ) );
    
    	cout << "Zahlenraten v0.1\nCopyright (©) by Swordfish, All rights reserved.\n"
    			"Es wurde eine Zufallszahl im Bereich 1 bis 100 generiert.\n" << endl;
    
    	unsigned int number = rand( ) % 100 + 1;
    
    	do {
    
    		unsigned int guess;	
    		cout << "Bitte raten Sie: ";
    		cin >> guess;
    
    		if( guess < number ) {
    
    			cout << "Die gesuchte Zahl ist groesser!" << endl;
    
    		} else if( guess > number ) {
    
    			cout << "Die gesuchte Zahl ist kleiner" << endl;
    
    		}
    
    	} while( !( guess == number ) );
    
    	cout << "Sie haben es erraten!" << endl;
    }
    

    Könnt ihr das Trauerspiel jetzt beenden!?

    greetz, Swordfish



  • Hallo

    Ich habe eine Ahnung, was jetzt bald passiert: "Das Fenster schließt sofort wieder?"

    chrische


Anmelden zum Antworten