Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 23
  1. #1
    Mitglied
    Registriert seit
    Sep 2008
    Beiträge
    182
    Danksagungen
    0

    Standard Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Hallo werte Gullianer,

    ich bin totaler C Anfänger, nur so zur Information. Ich habe ein kleines Zahlenratespiel programmiert, das zwei große Probleme hat:

    1. Es gibt keine zufällige Zahl. Es wird irgendwie immer dieselbe Zahl ausgegeben (trotz Zufallszahlenfunktion, die irgendwie nicht geht). Kennt jemand eine bessere Funktion?

    2. Ich kann keine Schleifen programmieren. Ich arbeite mich gerade durch das wikibooks tut, komm damit aber nicht zurecht. Hätte jemand Ideen für eine Schleife, die, wenn der User falsch rät, ihn nochmal raten lässt und auf eine bestimmte Anzahl von Versuchen limitiert ist (z.B. 15)?

    PS: Könnte man swas in eine grafische Oberfläche packen (z.B. Schaltflächen zum Beenden des Programms oder Neustarten des Spiels)?

    Danke schonmal im Voraus,
    verrueckt

  2. #2
    Mitglied Avatar von LoL_O-Mat
    Registriert seit
    May 2008
    Ort
    ~/Desktop/
    Beiträge
    4.456
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    1.
    Auf einem PC gibt es keine richtigen zufallszahlen, sondern sie werden immer nach einem Algorithmus generiert.
    Am besten initialisierst du die Zufallsfunktion mit
    PHP-Code:
    srand(time(NULL)) 
    Damit werden die Zufallszahlen schonmal Zeitabhängig.
    Dafür musst da aber auch time.h einbinden.

    2.
    PHP-Code:
    int versuche=0;
    do{
        
    /*.
        .
        .    
        .
        wenn der spieler richtig errät{
            goto richtig;
        }
        sonst {
        goto falsch;
        }*/
        
    versuche++;
    }while (
    versuche<15);
    printf("Du hast es nicht geschafft\n");
    return 
    0;
    richtig:
    printf("Du hast es geschafft");
    return 
    0

  3. #3
    Mitglied

    (Threadstarter)


    Registriert seit
    Sep 2008
    Beiträge
    182
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    1. Ich brauche zeitunabhängige Zufallszahlen, da in der selben Minute mehrere Spiele gespielt werden können.

    2.
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <time.h>

    int main()

    {

    int a, e, x;
    unsigned int zahl;
    x = 2000-rand()%1000;
    printf ("Hier eine geratene Zahl zwischen 1 und 999 eingeben:");
    scanf ("%d", &zahl);

    if(zahl<x)
    {
    printf("Die geratene Zahl ist kleiner");
    }
    else if(zahl>x)
    {
    printf("Die geratene Zahl ist groesser");
    }
    else if(zahl==x)
    {
    printf("Die Zahl ist richtig geraten!");
    }
    getch();

    }

    Wie binde ich eine while-Funktion ein und wo, die abhängig von der Anzahl der Versuche andere Bewertungen ausspuckt, z.B. in Schulnotenform?

  4. #4
    Mitglied Avatar von LoL_O-Mat
    Registriert seit
    May 2008
    Ort
    ~/Desktop/
    Beiträge
    4.456
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Die Zeit dient nur zum initialisieren...
    Es sind ja trotzdem immer noch Zufallszahlen und nicht immer die selben.

    2.

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <time.h>

    int main()

    {

    int a, e, x,richtig;
    e=0;
    richtig=0;
    unsigned int zahl;
    srand(TIME(NULL));
    x = 2000-rand()%1000;
    printf ("Hier eine geratene Zahl zwischen 1 und 999 eingeben:");
    do{
    scanf ("%d", &zahl);

    if(zahl<x)
    {
    printf("Die geratene Zahl ist kleiner");
    }
    else if(zahl>x)
    {
    printf("Die geratene Zahl ist groesser");
    }
    else if(zahl==x)
    {
    printf("Die Zahl ist richtig geraten!");
    richtig=1;
    }
    e++;
    } while (richtig==0&&e<15);



    getch();
    }

  5. #5
    Mitglied

    (Threadstarter)


    Registriert seit
    Sep 2008
    Beiträge
    182
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    hab jetzt noch ein paar Fehler beseitigt und mein Bewertungssystem hinzugefügt:

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <time.h>
    int main()
    {
    int a, e, x,richtig;
    e=0;
    richtig=0;
    unsigned int zahl;
    srand(TIME(NULL));
    x = 2000-rand()%1000;
    printf ("Hier eine geratene Zahl zwischen 1 und 999 eingeben:");
    do
    {
    scanf ("%d", &zahl);
    if(zahl<x)
    {printf("Die geratene Zahl ist kleiner");}
    else if(zahl>x)
    {printf("Die geratene Zahl ist groesser");}
    else if(zahl==x)
    {printf("Die Zahl ist richtig geraten!");
    richtig=1;}
    e++;
    }
    while (richtig==0&&e<16);
    if (zahl==1)
    {
    printf("Sehr Gut (1+)");
    }
    else if (zahl==2);
    {
    printf("Sehr Gut(1)");
    }
    else if (zahl==3);
    {
    printf("Sehr Gut(1-)");
    }
    else if (zahl==4);
    {
    printf("Gut(2+)");
    }
    else if (zahl==5);
    {
    printf("Gut(2)");
    }
    else if (zahl==6);
    {
    printf("Gut(2-)");
    }
    else if (zahl==7);
    {
    printf("Befriedigend(3+)");
    }
    else if (zahl==8);
    {
    printf("Befriedigend(3)");
    }
    else if (zahl==9);
    {
    printf("Befriedigend(3-)");
    }
    else if (zahl==10);
    {
    printf("Ausreichend(4+)");
    }
    else if (zahl==11);
    {
    printf("Ausreichend(4)");
    }
    else if (zahl==12);
    {
    printf("Ausreichend(4-)");
    }
    else if (zahl==13);
    {
    printf("Mangelhaft(5+)");
    }
    else if (zahl==14);
    {
    printf("Mangelhaft(5)";
    )}
    else if (zahl==15);
    {
    printf("Mangelhaft(5-)");
    }
    getch();
    }

    Ich habe nur noch einen letzten Fehler, den ich nicht wegbekomme:
    undefined reference to '_TIME'
    Hat da jemand noch eine Idee??

  6. #6
    deaktivierter Nutzer
    deaktiviertes Benutzerkonto

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    wo kommt der fehler ??
    hier ??:
    Zitat Zitat von verrueckt
    srand(TIME(NULL));
    muss doch auch srand(time(null)) heißen oder ?

    und überleg dir vllt mal ne switch-anweisung zu verwenden

  7. #7
    Mitglied

    (Threadstarter)


    Registriert seit
    Sep 2008
    Beiträge
    182
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    OK, der Fehler ist weg: Es kam noch der Fehler, dass null undeklariert war, den hab ich aber behoben. Jetzt bleibt nur noch eine Warnung übrig.

    PS: Was ist eine switch-Anweisung und wie funktioniert die???
    Angehängte Grafiken Angehängte Grafiken

  8. #8
    Mitglied Avatar von zainaman
    Registriert seit
    Oct 2006
    Ort
    Österreich
    Beiträge
    3.087
    Danksagungen
    4

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Also ich hab auch mal so ein Ratespiel geschrieben. Und zwar das Brettspiel Mastermind. Ist aber schoon sehr lange her (Daher der etwas komische Coding Style). Ich habs mal wieder ausgegraben.

    PHP-Code:
    /*

      Mastermind,

      ==========

      

     auch unter den Namen SuperHirn oder Variablo (VEB Berlinplast) bekannt, ist ein Logikspiel

     für zwei Personen, das mit farbigen Stiften gespielt wird, die in ein spezielles Gestell

     gesteckt werden. Das Spiel wurde 1973 von dem in Paris lebenden Israeli Marco Meirovitz

     erfunden und wurde zu einem der erfolgreichsten Spiele der 1970er Jahre.



     Im deutschsprachigen Raum wird es unter dem Namen SuperHirn, in der DDR wurde es unter

     Variablo und im englischsprachigen Raum wird es als Mastermind vertrieben.



     Spielprinzip

     ============

     

     Der eine Spieler wählt zu Beginn einen vierstelligen Farbcode aus, wobei sechs verschiedene

     Farben zur Verfügung stehen, die auch mehrfach verwendet werden können. Der andere Spieler

     versucht den Code herauszufinden. Als Hilfestellung bekommt er nach jedem Zug die

     Information, wie viele Stifte er in Farbe und Position richtig gesetzt hat, und wie viele

     Stifte zwar die richtige Farbe haben, aber an einer falschen Position stehen. Ein Treffer

     in Farbe und Position wird durch einen schwarzen Stift angezeigt, ein lediglich in der Farbe

     übereinstimmender Stift wird durch einen weißen Stift angezeigt. Es gibt auch Versionen mit

     roten statt schwarzen Stiften zur Anzeige von Treffern in Farbe und Position.



    */



    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>



    void spielplot(int feld[7][8],int code[4],int aufdecken);



    int main(int argcchar *argv[])

    {

      
    int code [4], spielfeld[7][8]/*Sieben Zeilen weil max sieben versuche  |  8 Spalten jeweils 4 zum raten und 4 für die Antworten des Computers*/;

      
    int loopzeilespalterundegewonnen=0level=5cheat;

      
    /*Setzedes Startwertes für rand()*/

      
    srand(time(NULL));

      

      
    /*Initialsieren des Spielfeldes*/

      
    for(zeile=0;zeile<7;zeile++)

      {

                                  for(
    spalte=0;spalte<8;spalte++)

                                  {

                                                                 
    spielfeld[zeile][spalte]=0;

                                  }

      }

      

      
    /*Spielbeschreibung*/

     
    printf("Mastermind\n==========\n\n");

     
    printf("auch unter den Namen SuperHirn oder Variablo (VEB Berlinplast) bekannt, ist ein Logikspiel für zwei Personen, das mit farbigen Stiften gespielt wird, die in ein spezielles Gestell gesteckt werden. Das Spiel wurde 1973 von dem in Paris lebenden Israeli Marco Meirovitz erfunden und wurde zu einem der erfolgreichsten Spiele der 1970er Jahre. Im deutschsprachigen Raum wird es unter dem Namen SuperHirn, in der DDR wurde es unter Variablo und im englischsprachigen Raum wird es als Mastermind vertrieben.");

     
    printf("\n\nSpielprinzip\n============\n\nDer eine Spieler waehlt zu Beginn einen vierstelligen Farbcode aus, wobei sechs verschiedene Farben zur Verfuegung stehen, die auch mehrfach verwendet werden koennen. Der andere Spieler versucht den Code herauszufinden. Als Hilfestellung bekommt er nach jedem Zug die Information, wie viele Stifte er in Farbe und Position richtig gesetzt hat, und wie viele Stifte zwar die richtige Farbe haben, aber an einer falschen Position stehen. Ein Treffer in Farbe und Position wird durch einen schwarzen Stift angezeigt, ein lediglich in der Farbe uebereinstimmender Stift wird durch einen weissen Stift angezeigt. Es gibt auch Versionen mit roten statt schwarzen Stiften zur Anzeige von Treffern in Farbe und Position.\n\n\t\t\t\t\t\t(c)Florian Trabauer\n\n");

     
    system("PAUSE");

      

      
    /*auswählen des Levels*/

      
    do

      {

                                  
    system("cls");

                                  
    printf("Mastermind\n==========\n\nWilkommen bei Mastermind,\nBitte waehlen sie den Schwierigkeitsgrad aus! (1-9)\nEingabe:");

                                  
    scanf("%d", &level);

                                  
    printf("Der Level bestimmt nur die anzahl der moeglichen zeichen!\n\nHAVE FUN\n\t\t\t(c) Trabauer Florian\n\n");

                                  
    system("PAUSE");

      }while((
    level<0||level>20)&&level!=10);

      
    /*Aktivieren des Cheatmodes*/

      
    if(level>10)

      {

                  
    level=level-10;

                  
    cheat=1;

      }

      
    /*Erzeugen des Codes der eraten werden muss*/

      
    for(loop=0;loop<4;loop++)

      {

                               
    code[loop]=(rand()%level)+1;                                         

      }

      
    /*Ausgabe des Codes*/

      
    system("cls");

      
    printf("Code: ");

      for(
    loop=0;loop<4loop++)printf(" %d"code[loop]);

        

      
    /*Spielablauf*/

      /*gespielt wird 7 Runden wen der Spieler nach 7 Runden den Code,

        nicht heraus gefunden hat er verloren!*/

      
    for(runde=0;runde<7;runde++)

      {

                                    
    /*Aktivieren des Cheatmodes*/

                                  
    if(cheat!=1system("cls");

                                  
    spielplot(spielfeldcode0);

                                  

                                  
    /*Einlesen der Werte*/

                                  
    for(spalte=0;spalte<4;spalte++)

                                  {

                                                                 
    printf("\nGeben sie die %d Stelle des Codes ein.\nEingabe:"spalte+1);

                                                                 do

                                                                 {

                                                                                 
    scanf("%d", &spielfeld[runde][spalte]);

                                                                 }while(
    spielfeld[runde][spalte]<1||spielfeld[runde][spalte]>level);

                                  }

                                  
    /*Ueberpruefung ob die eingegebene Zahl im Code vorkommt,

                                  wenn ja wird eine 1 an der entsprechenden Postion ausgegeben*/

                                  
    for(spalte=0;spalte<4;spalte++)

                                  {

                                                                 for(
    loop=0;loop<4;loop++)

                                                                 {

                                                                                          if(
    spielfeld[runde][spalte]==code[loop]) spielfeld[runde][spalte+4]=1;

                                                                 }

                                                                 
    /*Ueberpruefung ob die eingegebene Zahl im Code auch an der richtigen Stelle ist*/

                                                                 
    if(spielfeld[runde][spalte]==code[spalte]) spielfeld[runde][spalte+4]=2;

                                  }

                                  
    /*Ueberpruefen ob der Code eraten wurde*/                            

                                  
    if(spielfeld[runde][4]==2&&spielfeld[runde][5]==2&&spielfeld[runde][6]==2&&spielfeld[runde][7]==2)

                                  {

                                                                                                        
    system("cls");

                                                                                                        
    spielplot(spielfeldcode1);

                                                                                                        
    printf("\n\nGewonnen!!!\n===========\n");

                                                                                                        break;

                                  }

      }

      
    system("PAUSE");    

      return 
    0;

    }





    void spielplot(int feld[7][8],int code[4],int aufdecken)

    {

         
    int loopzeilespalte;

         
    /*Ausgabe desTabellenkopfes*/

         /*mit dem zu erratenden Code wenn der Funktion aufdecken=1 uebergeben wird soll sie den Code anzeigen ansonsten

         , wenn ohr aufdecken=0 uebergeben wird dann soll der Code versteckt sein*/

         
    printf("Mastermind\n==========");

         
    printf("\n\n+-+-+-+-+----+\n|C|O|D|E|    |\n|");

         for(
    loop=0loop<4loop++)

         {

                     if(
    aufdecken==1)printf("%d|"code[loop]);

                     else 
    printf("@|");

         }

         
    printf("    |\n+-+-+-+-+----+\n+-+-+-+-+----+\n");

         

         
    /*Ausgabe der Spielereingaben*/

         

         
    for(zeile=6zeile>=0;zeile--)

         {


                      
    printf("|");

                      for(
    spalte=0;spalte<4;spalte++)

                      {

                                                     
    /*if(feld[zeile][spalte]==0) printf("%c|", 0);

                                                     else */
    printf("%d|"feld[zeile][spalte]);

                                                     

                      }

                      

                                        for(
    spalte=4;spalte<8;spalte++)

                      {

                                                     
    /*if(feld[zeile][spalte]==0) printf(" ", feld[zeile][spalte]);

                                                     else */
    printf("%d"feld[zeile][spalte]);

                      }

                      

                      
    printf("|\n+-+-+-+-+----+\n");

         }



  9. #9
    deaktivierter Nutzer
    deaktiviertes Benutzerkonto

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Zitat Zitat von verrueckt
    OK, der Fehler ist weg: Es kam noch der Fehler, dass null undeklariert war, den hab ich aber behoben. Jetzt bleibt nur noch eine Warnung übrig.

    PS: Was ist eine switch-Anweisung und wie funktioniert die???
    solltest dir wohl mal grundlagen ansehen !?

    hier da stehts, das buch solltest du dir mal genauer durchlesen

  10. #10
    Mitglied Avatar von usagichan
    Registriert seit
    Nov 2008
    Ort
    Mondpalast
    Beiträge
    3.126
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Hi,

    dein Code sieht aber SEHR dürftig aus ;-)

    Hier eine Optimierung:

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #define LIMIT 15
    
    int main() {
    	const char* Noten[] = {"Sehr gut", "Gut", "Befriedigend", "Ausreichend", "Mangelhaft",
    		"Ungenuegend"};
    	srand(time(NULL));
    	unsigned int zahl = (double)rand() / (RAND_MAX + 1) * 999 + 1; //incl 1 bis incl 999
    	bool richtig = false;
    	printf ("Hier eine geratene Zahl zwischen 1 und 999 eingeben:");
    	int i = 0;
    	for (i = 0; i<LIMIT; ++i) {
    		unsigned int geraten;
    		scanf("%u",&geraten);
    		if (zahl<geraten)
    			printf("Die gesuchte Zahl ist kleiner.");
    		else if (zahl>geraten)
    			printf("Die gesuchte Zahl ist groesser.");
    		else {
    			richtig = true;
    			break;
    		}
    	}
    	++i;
    	if (richtig)
    		printf("Sie haben die Zahl %u in %d Versuchen erraten!\n", zahl, i);
    	else
    		printf("Sie haben die gesuchte Zahl (%u) leider in %d Versuchen nicht erraten!\n", 
    		zahl, LIMIT);
    	int note = (i + 2) / 3;
    	printf("Das war %s (%d%s).\n",*(Noten+note-1), note, i%3==1 ? "+" : i%3 ? "" : "-"); 
    	system("PAUSE");
    
    }

  11. #11
    Mitglied

    (Threadstarter)


    Registriert seit
    Sep 2008
    Beiträge
    182
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    @usagichan: Dein Code wird aus irgendeinem Grund nicht kompiliert. Scheint auch noch irgendwas falsch zu sein. Nutze das aktuelle Code::Blocks 8.02. Welchen Compiler benutzt du und funtioniert das da?

  12. #12
    ex-Moderator Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Beiträge
    18.640
    Danksagungen
    401

    Standard

    Sein Code hat zwei Probleme; zum einen gibt es in ANSI-C kein Typ `bool` und auch keine Konstanten `true` und `false` (du kannst dafür einen numerischen Datentyp und die Werte 1 und 0 verwenden). Zum anderen ist nicht garantiert, dass (RAND_MAX+1) in einem int Platz findet - caste einer der Werte vor der Operation nach float, um einen Overflow zu vermeiden (am kürzesten dürfte `RAND_MAX+1.0` sein).

    Und, last but not least: system("PAUSE") ist böse.

  13. #13
    Mitglied Avatar von usagichan
    Registriert seit
    Nov 2008
    Ort
    Mondpalast
    Beiträge
    3.126
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    @verrueckt:

    Habe das ganze für Visual Studio 2008 geschrieben, und da funktioniert es. Wenn es wie Kugelfisch23 meint, daran liegt, dass dein Compiler keinen bool - Wert kennt, füge am Anfang des Codes noch
    Code:
    #define bool int
    #define true 1
    #define false 0
    ein.

    @Kugelfisch23:

    Es ging mir hier nun wirklich nicht um Perfektion, der Code ist nur schnell zusammengetippt. Du kannst ja mal versuchen, es schöner zu schreiben *lach*

    Viele Grüsse,
    usagichan

  14. #14
    ex-Moderator Avatar von Kugelfisch23
    Registriert seit
    Oct 2007
    Beiträge
    18.640
    Danksagungen
    401

    Standard

    Zitat von usagichan
    Es ging mir hier nun wirklich nicht um Perfektion, der Code ist nur schnell zusammengetippt. Du kannst ja mal versuchen, es schöner zu schreiben *lach*
    Es ging mir nicht um die Sauberkeit oder die Perfektion des Codes. Aber das ursprüngliche ANSI-C definiert keinen Datentyp `bool`; im C99-Standard gibt es den Header `stdbool.h`, der diesen Datentyp deklariert.

    Visual Studio wird deinen Code als C++-Code kompiliert haben - deshalb hattest du keine Probleme mit dem Datentyp. Ein C-Compiler (gcc, zum Beispiel) wird jedoch reklamieren.

  15. #15
    Mitglied Avatar von usagichan
    Registriert seit
    Nov 2008
    Ort
    Mondpalast
    Beiträge
    3.126
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Im ursprünglichen Standard-C ist allerdings auch nicht garantiert, dass dein Vorschlag "RAND_MAX+1.0" einen endlichen, also in diesem Falle brauchbaren, Wert zurückliefert.

  16. #16
    Trashgigant ;)

    ex-Moderator

    Avatar von Scrion
    Registriert seit
    Jul 2000
    Ort
    Golgotha
    Beiträge
    7.571
    Danksagungen
    12

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Im ursprünglichen Standard-C ist allerdings auch nicht garantiert, dass dein Vorschlag "RAND_MAX+1.0" einen endlichen, also in diesem Falle brauchbaren, Wert zurückliefert.
    Hm?

  17. #17
    Mitglied

    (Threadstarter)


    Registriert seit
    Sep 2008
    Beiträge
    182
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Hi Leute,
    ich hab jetzt usagichans Code aufgeräumt und die Befehle eingesetzt. Mein Compiler kompiliert diese Datei immer noch nicht.

    Aktueller Quellcode:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #define LIMIT 15
    #define bool int
    #define true 1
    #define false 0

    int main()
    {
    const char* Noten[] =
    {"Sehr gut", "Gut", "Befriedigend", "Ausreichend", "Mangelhaft", "Ungenuegend"};
    srand(time(NULL));
    unsigned int zahl = (double)rand() / (RAND_MAX + 1) * 999 + 1; //incl 1 bis incl 999
    bool richtig = false;
    printf ("Hier eine geratene Zahl zwischen 1 und 999 eingeben:");
    int i = 0;
    for (i = 0; i<LIMIT; ++i) {
    unsigned int geraten;
    scanf("%u",&geraten);
    if (zahl<geraten)
    printf("Die gesuchte Zahl ist kleiner.");
    else if (zahl>geraten)
    printf("Die gesuchte Zahl ist groesser.");
    else
    {richtig = true;
    break;
    }
    }
    ++i;
    if (richtig)
    printf("Sie haben die Zahl %u in %d Versuchen erraten!\n", zahl, i);
    else
    printf("Sie haben die gesuchte Zahl (%u) leider in %d Versuchen nicht erraten!\n", zahl, LIMIT);
    int note = (i + 2) / 3;
    printf("Das war %s (%d%s).\n",*(Noten+note-1), note, i%3==1 ? "+" : i%3 ? "" : "-");
    system("PAUSE");
    }

  18. #18
    Mitglied Avatar von usagichan
    Registriert seit
    Nov 2008
    Ort
    Mondpalast
    Beiträge
    3.126
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Hi,

    welche Fehlermeldung kommt denn?

    @Scrion:

    Der C-Standard defininiert (und verlangt) kein festes Intervall in den reellen Zahlen, auf welches die Fließkommazahlen abgebildet werden.

    Viele Grüsse,
    usagichan

  19. #19
    Mitglied

    (Threadstarter)


    Registriert seit
    Sep 2008
    Beiträge
    182
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Es wird einfach gar nichts weiter angezeigt. Ich hab festgestellt, dass er gar kein Programm mehr kompiliert. Auch eine Neuinstallation von CodeBlocks hat nichts gebracht :-(. Hat vielleicht jemand eine Idee, woran das liegen könnte und das Teil mal kompilieren? Danke!
    Angehängte Grafiken Angehängte Grafiken

  20. #20
    Mitglied Avatar von usagichan
    Registriert seit
    Nov 2008
    Ort
    Mondpalast
    Beiträge
    3.126
    Danksagungen
    0

    Standard Re: Zufallszahl und Schleife in C zwischen 1 und 1000 für Zahlen-Ratespiel benötigt!

    Hi,

    Verwende doch einfach mal einen anderen Compiler, ich bevorzuge Visual C++, und schau ob es dort funktioniert. Wo genau das Problem mit CodeBlocks liegt ist "aus der Ferne" wohl schlecht zu diagnostizieren.

    Viele Grüsse,
    usagichan

    PS: Warum hast du meine Gliederung und Einrückungen rausgeschmissen? So kann den Code ja kein Mensch mehr vernünftig lesen ...

  21.  
     
     
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •