Münzwurf mit rand()
-
Hallo zusammen,
ich soll für die Fachschule (seit 4 Wochen c++) ein Programm schreiben das per Zufallsgenerator zwischen 2 Zahlen entscheidet (Kopf und Zahl). Leider bringt mich die Hilfe von VC++ nicht wirklich weiter und das Buch das ich habe auch nicht.
Mein bisheriger Programmcode:
[cpp]
#include <iostream.h>
#include <stdlib.h> //wird für rand() benötigtvoid main ()
{
int wurf, kopf, zahl;
kopf = 0;
zahl = 0;for (int i=0; i<100; i++)
{Hier sollte jetzt der Zufallsgenerator stehen.
if (wurf = 0)
{
kopf = kopf + 1;
}//if kopfif (wurf = 1)
{
zahl = zahl + 1;
}//if zahl
}//for
cout << "Kopf: " << kopf << "\n";
cout << "Zahl: " << zahl << "\n";
}//main
[/cpp]
-
-
Irgendwie verstehe ich das auf der verlinkten Seite net ganz.
-
Warum, wegem Englisch?
Hier was Deutsches, weiter unten bei Zufallszahlen http://www.willemer.de/informatik/cpp/verarb.htm
Ansonsten sind Google und Foren-Suche immer hilfreich..
-
So, mein Programm sieht so aus:
#include <iostream.h> #include <stdlib.h> //wird für rand() benötigt void main () { int wurf, kopf, zahl; kopf = 0; zahl = 0; for (int i=0; i<100; i++) { wurf =rand() % 100 + 1;//Zufallsgenerator der entweder zwischen 0 und 100 ausgiebt. if (wurf <= 50) { kopf = kopf + 1; }//if kopf if (wurf >= 51) { zahl = zahl + 1; }//if zahl }//for cout << "Kopf: " << kopf << "\n"; cout << "Zahl: " << zahl << "\n"; }//main
Das komisch e ist, ich komme immer wieder auf das selbe ergebnis.
PS: Hab ich vergessen zu fragen: WIe bekomme ich das im Forum hin das er mir nicht den ganzen Quellecode linksbündig schreibt.
PS2: Ich moment arben wir noch mit Win32 Konsolenanwendungen.
-
um Quelltexte ordentlich darzustellen und nicht so:
main(){
//... blabla
printf("test");
}solltest du die Tags "["code"]" und "["/code"]" verwenden aber ohne Anführungsstriche, dann schauts so aus:
main(){ //... blabla printf("test"); }
-
Danke. Das hab ich gesucht.
-
Du musst den Generator noch initialisieren mit
srand ( time(NULL) );
und zwar nur einmal am Anfang des Programms oder vor der for Schlaufe.
-
Danke für den Tip und gleich ausprobiert. Allerdings bekomme ich folgende Fehlermeldung:
error C2065: 'time' : nichtdeklarierter Bezeichner
Wie muss ich den deklarieren?
-
schreib am anfang deines prgorammes einfach
srand(0);
-
BorisDieKlinge schrieb:
schreib am anfang deines prgorammes einfach
srand(0);
Das nützt mir nix, da kommt immer das gleiche Ergebnis raus.
-
riedochs schrieb:
Danke für den Tip und gleich ausprobiert. Allerdings bekomme ich folgende Fehlermeldung:
error C2065: 'time' : nichtdeklarierter Bezeichner
Wie muss ich den deklarieren?
Also wenn er time nicht kennt würde ich in der MSDN als erstes prüfen obs da ein Headerfile gibt was noch includiert werden muss. Wie z.b. <time.h>. *g*
-
McSnoop schrieb:
riedochs schrieb:
Danke für den Tip und gleich ausprobiert. Allerdings bekomme ich folgende Fehlermeldung:
error C2065: 'time' : nichtdeklarierter Bezeichner
Wie muss ich den deklarieren?
Also wenn er time nicht kennt würde ich in der MSDN als erstes prüfen obs da ein Headerfile gibt was noch includiert werden muss. Wie z.b. <time.h>. *g*
Danke, jetzt funzt der Keks