1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

C++ Ratespiel zwischen 0 und 100?

Dieses Thema im Forum "OS X-Developer" wurde erstellt von nate, 01.12.09.

  1. nate

    nate Pomme Miel

    Dabei seit:
    03.09.08
    Beiträge:
    1.491
    Hallo Leute,

    hänge mal wieder an meine Code..

    Aufgabe:
    Mein Code:


    Code:
    #include <stdio.h>
    #include <stream.h>
    #include <iostream>
    #include <stdlib.h>
    #include <time.h>
    
    using namespace std;
    
    int main(void)
    {
    	
    
    	
    	int Bereich = 100;
    	int Zahl = rand()%Bereich+1;
    	
    	char Eingabe;
    	
    	bool eraten = false;
    	
    	printf("Geben Sie eine Zahl zwischen 1 und 100 ein.\n");
    	
    	
    	while(!eraten)
    	{
    		
    		scanf("%c",&Eingabe);
    		
    		if (Eingabe < Zahl)
    		{
    			printf("Die Zahl ist zu klein.\n");
    		}
    		
    		if (Eingabe > Zahl)
    		{
    			printf("Die Zahl ist zu gross.\n");
    		}
    		
    		
    		if (Eingabe == Zahl)
    		{
    			printf("Die Zahl ist Richtig!\n");
    			eraten = true;
    		}
    	}
    	
    	return 0;
    }
    irgendwie führt Xcode die schleifen nicht richtig aus, aber ich glaube ich seh vor lauter Bäume den Wald nicht mehr?!
     
  2. nic

    nic Bismarckapfel

    Dabei seit:
    18.01.06
    Beiträge:
    141
    Du liest deine Zahl als Character ein, damit funktioniert der Vergleich nicht richtig.

    Probier es mal mit scanf("%d",&Eingabe);
     
    nate und below gefällt das.
  3. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Soll das laut Aufgabenstellung ein C++ Programm werden oder reicht auch reines C? Weil mit C++ hat der Code relativ wenig zu tun.

    Michael
     
  4. nate

    nate Pomme Miel

    Dabei seit:
    03.09.08
    Beiträge:
    1.491
    es reicht auch c =) ich weiß ist bisschen durcheinander...

    ok sehr gut danke mit dem scanf (%d) hat es geklappt, aber wie kann ich jetzt eine Zufallszahl machen die sich ändert? und nicht immer die gleiche ist?
     
  5. buk

    buk Carola

    Dabei seit:
    19.01.09
    Beiträge:
    112
  6. ImperatoR

    ImperatoR Ananas Reinette

    Dabei seit:
    02.12.06
    Beiträge:
    6.235
    Warum nicht
    Code:
    int Eingabe;
    Und statt scanf lieber
    Code:
    std::cin >> Eingabe;
    Soweit ich weiß, reicht in C++
    Code:
    int main()
    aus — also ohne void. :p
     
  7. ImperatoR

    ImperatoR Ananas Reinette

    Dabei seit:
    02.12.06
    Beiträge:
    6.235
    Und hier ein Würfelprogramm. Wenn du ins Terminal Wuerfel 100 tippst, gibt er 100 mal Zufallszahlen zwischen 1 und 6 aus.

    Code:
    //
    // Wuerfel.cpp
    //
    // Gibt Zufallszahlen zwischen 1 und 6 aus.
    //
    // Aufruf: Wuerfel [Anzahl]
    //
    // Autor: H.Drachenfels
    // Erstellt am: 30.03.2006
    //
    
    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    
    int main (int argc, char *argv[])
    {
      //------------------------------------------------------ Argumente auswerten
      int  versuche = 1;
    
      if (argc > 1)
      {
        char *endPtr;
        versuche = std::strtol(argv[1], &endPtr, 10);
    
        if (*endPtr != '\0' || argc > 2)
        {
          std::cerr << "Zu viele oder falsche Parameter!\n"
                       "Aufruf: Wuerfel [Anzahl]\n";
          return 1;
        }
      }
    
      //--------------------------------------------------------------- schuetteln
      std::srand(std::time(0));
    
      //----------------------------------------------------------------- wuerfeln
      for (int i = 0; i < versuche; i++)
      {
        int wurf = std::rand();
        std::cout << wurf % 6 + 1 << '\n';
      }
    }
    Du kannst ja den Part, den du für dein Programm brauchst, abändern und verbauen …
     
    nate gefällt das.
  8. nate

    nate Pomme Miel

    Dabei seit:
    03.09.08
    Beiträge:
    1.491
    ja habe int Eingabe; gemacht jetzt :)

    ich bin schon scanf gewohnt durch die Schule usw, ich weiss scanf kann man mehr Fehler einbauen, aber Gewohnheit bei mit^^

    ok stimmt geht auch ohne void danke :)

    @buk danke für den Link!
     

Diese Seite empfehlen