Komme da nicht weiter. Wer kann helfen?



  • hallo,

    Ich muss ein Zahlenratespiel in C schreiben. Da ich aber noch ein Anfänger bin, kenn ich mich da nicht so gut aus.

    Das Programm generiert eine Zufallszahl zw. 1 und 100 und der Benutzer soll diese eraten und hat 5 versuche.
    Wenn der eingebene Wert zu hoch ist, dann soll das Programm schreiben "Wert zu hoch", wenn zu niedrig dann "Wert zu niedrig".
    Wenn die Zahl erraten wurde, dann kommt ne Meldung, dass die Zahl erraten wurde und wenn nicht, dann erscheint die Zufallszahl nach 5 Versuchen.

    CodeHacker hat mir auch schon ein bisschen geholfen. Aber das Programm funktioniert nicht!
    Was ist da falsch?

    #include <stdio.h>
    #include <stdlib.h> 
    #include <time.h>
    
    int main()
    { 
      int zufallszahl, versuche; 
      srand( (unsigned)time( NULL ) ); 
      zufallszahl = 1 + ( rand() % 100 );		/* Zufallszahl zwischen 1 und 100 */
    
      for(versuche=0; versuche<5; ++versuche) 
      { 
        int eingabe=0; 
        printf("Zahl zw. 1 und 100 eingeben: "); 
        scanf("%d", &eingabe); 
        if((eingabe==zufallszahl) && (eingabe!=0)) 
        { 
          printf("Richtig!\n");				/* Meldung wenn Zahl korrekt */
    	}
    	if (eingabe < zufallszahl){
    		printf("Die Zahl ist zu gross");
    	}
    	if (eingabe > zufallszahl){
    		printf("Die Zahl ist zu klein");
    
          break;							/* Schleife abbrechen */
        } 
      } 
      return 0; 
    }
    


  • 1. Das break muss weg.
    2. Die Ausgaben sind vertauscht

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main()
    {
      int zufallszahl, versuche;
      srand( (unsigned)time( NULL ) );
      zufallszahl = 1 + ( rand() % 100 );        /* Zufallszahl zwischen 1 und 100 */
    
      for(versuche=0; versuche<5; ++versuche)
      {
        int eingabe=0;
        printf("Zahl zw. 1 und 100 eingeben: ");
        scanf("%d", &eingabe);
    
    	if((eingabe==zufallszahl) && (eingabe!=0))
        {
          printf("Richtig!\n");                /* Meldung wenn Zahl korrekt */
        }
    
        if (eingabe < zufallszahl)
            printf("Die Zahl ist zu klein\n");
    
        if (eingabe > zufallszahl)
            printf("Die Zahl ist zu gross\n");
      }
    
      printf("Die Zahl war %d\n",zufallszahl);
      return 0;
    }
    


  • danke dir! es funktioniert 🙂


Anmelden zum Antworten