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.