crap Simulation



  • Hallo,

    folgende Simulation des Spiels crap will nicht so recht laufen. 😞

    #include <iostream>
    #include <cstdlib>
    #include <time.h>
    
    using namespace std;
    
    const int NUM_GAMES = 1000000;
    
    // Function prototypes
    int roll_dice();
    
    // ======================
    // roll_dice
    // Simulates rolling two six-sided dice
    // and returns the sum.
    // ======================
    //roll dice
    int dice1, dice2;
    int roll_dice()
    {
    	int sum;
    
    	dice1=(rand()%6);
    	dice2=(rand()%6);
    
    	sum=(dice1 + dice2 + 2);
    
    	//return the sums of the dice
    	return sum;
    }
    
    // **********************
    // main function
    // **********************
    int main()
    {
    	// Variable declarations
    	int numWins = 0;
    	int numLosses = 0;
    	int i;
    	int roll;
    	int point;
    	int sum;
    
    	// Initialize random number generator using
    	// the current value of the clock
    
    	srand(time(NULL));
    	for (i=0; i<NUM_GAMES; i++)
    		{
    			roll=roll_dice();
    
    			//roll dice
    			//see what the dice equal
    
    			if ((sum == 7) || (sum == 11))
    				{
    					numWins++;
    				}
    			else if((sum == 2)|| (sum == 3) || (sum == 12))
    				{
    					numLosses++;
    				}
    			else
    				//set sum to points
    				{
    					point=roll;
    					do
    					{
    						roll=roll_dice();
    						if (roll==7)
    							{
    								numLosses++;
    							}
    						else if (roll==point)
    							{
    								numWins++;
    							}
    					}while ((point != roll) && (roll!=7));
    				}
    		}
    }
    
    // Output probability of winning
    cout << "In the simulation, we won " << numWins <<
    " times and lost " << numLosses << " times, " <<
    " for a probability of " <<
    static_cast<double>(numWins) / (numWins+numLosses) <<
    endl << endl;
    system("Pause");
    return 0;
    }
    

    Fehlermeldung:

    ------ Erstellen gestartet: Projekt: crap, Konfiguration: Debug Win32 ------
    Kompilieren...
    crapp.cpp
    d:\eigene dateien\visual studio 2005\projects\programmieren1_praktikum5\crap\crapp.cpp(55) : warning C4244: 'Argument': Konvertierung von 'time_t' in 'unsigned int', möglicher Datenverlust
    d:\eigene dateien\visual studio 2005\projects\programmieren1_praktikum5\crap\crapp.cpp(94) : error C2143: Syntaxfehler: Es fehlt ';' vor '<<'
    d:\eigene dateien\visual studio 2005\projects\programmieren1_praktikum5\crap\crapp.cpp(94) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    d:\eigene dateien\visual studio 2005\projects\programmieren1_praktikum5\crap\crapp.cpp(99) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    d:\eigene dateien\visual studio 2005\projects\programmieren1_praktikum5\crap\crapp.cpp(99) : error C2365: "system": Erneute Definition; vorherige Definition war "Funktion".
    c:\programme\microsoft visual studio 8\vc\include\stdlib.h(549): Siehe Deklaration von 'system'
    d:\eigene dateien\visual studio 2005\projects\programmieren1_praktikum5\crap\crapp.cpp(99) : error C2440: 'Initialisierung': 'const char [6]' kann nicht in 'int' konvertiert werden
    Es gibt keinen Kontext, in dem diese Konvertierung möglich ist
    d:\eigene dateien\visual studio 2005\projects\programmieren1_praktikum5\crap\crapp.cpp(100) : error C2059: Syntaxfehler: 'return'
    d:\eigene dateien\visual studio 2005\projects\programmieren1_praktikum5\crap\crapp.cpp(101) : error C2059: Syntaxfehler: '}'
    d:\eigene dateien\visual studio 2005\projects\programmieren1_praktikum5\crap\crapp.cpp(101) : error C2143: Syntaxfehler: Es fehlt ';' vor '}'
    d:\eigene dateien\visual studio 2005\projects\programmieren1_praktikum5\crap\crapp.cpp(101) : error C2059: Syntaxfehler: '}'
    Das Buildprotokoll wurde unter "file://d:\Eigene Dateien\Visual Studio 2005\Projects\Programmieren1_Praktikum5\crap\Debug\BuildLog.htm" gespeichert.
    crap - 9 Fehler, 1 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    Schöne Feiertage 🙂

    Gunnar



  • Die zweitletzte Klammer ist zuviel (Zeile 84)



  • Hallo,
    da is ein } zu viel, bzw das } in Zeile 84 schliesst das ganze, alles was danach kommt erscheint dem Compiler dann seltsam.



  • nun bekomme ich folgenden Fehler

    Run-Time Check Failure #3 - The variable 'sum' is being used without being defined.

    Hm.. ich habe schon

    int sum;
    

    durch

    int sum=0;
    

    ersetzt, aber scheint nix zu nützen?



  • Du hast zwei Variablen "sum" in deinem Programm... Im main und in roll_dice. Die in main benutzt Du ohne ihr jemals einen Wert zuzuweisen.



  • Hm...

    weiss jemand , wie ich da den 1-21 wurf mit Gewonnen + verloren ausgeben kann? 😮

    Edit: Hat sich erledigt.


Anmelden zum Antworten