Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

srand(); funktioniert nicht ganz

Diskussion: srand(); funktioniert nicht ganz im Forum Code Kitchen, in der Kategorie Software Home; Anzeige erstmal der code: Code: #include <time.h> #include <stdlib> int zufall; zufall = 0 + ( (srand( (unsigned) time(NULL))) % ...

Antwort
Alt 09.03.08, 10:50   #1 (permalink)
 
Benutzerbild von bad_alloc
 
Registriert seit: 27.12.07
bad_alloc Leistung: 8086
Likes: 39
Standard srand(); funktioniert nicht ganz

Anzeige

erstmal der code:

Code:
#include <time.h>
#include <stdlib>

int zufall;

zufall = 0 + ( (srand( (unsigned) time(NULL))) % ( 7 - 0 + 1 ) ); 
/*für unsigned auch schon eine echte unsigned int eingesetzt*/
//soll zufallszahl zwischen 0 und 7 erzeugen
PROBLEM: in der zeile wo die zufallszahl erzeugt werden soll kommt die felermeldung das "void nicht ignoriert wird wie es ignoriert werden sollte"

verwendet wird dev-c++
danke im voraus für hilfe

Wolfy
__________________
You shoot yourself in somebody else's foot.|Dann gabs da noch den Mathematiker der P?=NP in O(1) erklärte.
|[A]| = p(·,|[A]|)+1
bad_alloc ist offline   Mit Zitat antworten
Alt 09.03.08, 11:17   #2 (permalink)
sw33tlull4by
Guest
 
Likes:
Standard

Benutz doch
rand()%8
Dies wird dir bei Integern eine Zahl zwischen 0 und 7 auswerfen, denn 8 waere ja wieder 0.
mfg

sw33t
  Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 09.03.08, 11:22   #3 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Das Problem liegt übrigens darin, dass srand() keine Zufallszahl zurückgibt, sondern nur den Zufallszahlengenerator initialisiert. Daher ist der Returntyp void. Und man kann "nichts" nicht in einer Berechnung verwenden, daher die Fehlermeldung.
Daher solltest du normalerweise nur einmal zu Beginn srand() aufrufen und danach die Zufallszahlen mit rand() erzeugen.
Lesco ist offline   Mit Zitat antworten
Alt 09.03.08, 12:17   #4 (permalink)
 
Registriert seit: 16.02.06
AceKiller73 Leistung: Facit NTK
Likes: 0
Standard

Sehr gutes Tutorial gibts hier:
http://www.c-plusplus.de/forum/viewt...is-172876.html

MFG
Ace
AceKiller73 ist offline   Mit Zitat antworten
Alt 09.03.08, 14:31   #5 (permalink)
 
Registriert seit: 17.02.06
Harry Boeck Leistung: Facit NTK
Likes: 0
Standard

Sag mal, was hälst Du davon, Operationen in einen Funktionsrumpf zu packen?
Zum Beispiel ganz 0-8-15-mäßig in eine main-Funktion?
Die dann auch vom Betriebssystem zum Start des Programms aufgerufen werden kann?

Edit: Es wird compilierbar sein, wenn Du die Wertzuweisung in die Variablendefinition (als "Initialisierung") hineinpackst. Es ist dann aber noch lange nicht linkbar...

Besser so: [C++] acces violation bei string? (gelöst)
Harry Boeck ist offline   Mit Zitat antworten
Alt 10.03.08, 14:57   #6 (permalink)
 
Registriert seit: 18.08.06
Stroker Leistung: Facit NTK
Likes: 0
Standard

srand(time(NULL));

zufall = 0 + rand();

das rand() erzeugt dann die zufallszahl man kann auch bestimmte Zufallsbereiche bestimmen. z.b. mit rand()%49+1 erzeugt z.b. Zahlen zwischen 1 und 49 soweit mich nicht alles täuscht.

Für dein Beispiel in dem Fall:

srand(time(NULL));
zufall = rand()%7;
Stroker ist offline   Mit Zitat antworten
Alt 10.03.08, 15:08   #7 (permalink)
 
Registriert seit: 16.10.07
cpt.flokati Leistung: Facit NTK
cpt.flokati eine Nachricht über ICQ schicken
Likes: 0
Standard

Von der Sache her, ist die Funktion in math.h implementiert. Also müsstest du die noch einbinden.
cpt.flokati ist offline   Mit Zitat antworten
Alt 10.03.08, 15:28   #8 (permalink)
Themenstarter
 
Benutzerbild von bad_alloc
 
Registriert seit: 27.12.07
bad_alloc Leistung: 8086
Likes: 39
Standard

@ctp.flokati: hab ich nicht es funktioniert aber, von daher:

danke an alle helfenden!
__________________
You shoot yourself in somebody else's foot.|Dann gabs da noch den Mathematiker der P?=NP in O(1) erklärte.
|[A]| = p(·,|[A]|)+1
bad_alloc ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » srand(); funktioniert nicht ganz
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem in C++(srand Funktion) Overflow.exe Code Kitchen 4 25.11.07 22:48
Ein nicht ganz jugendfreier Witz... sTEk Fun Section 4 22.04.06 00:16
IP Multicasting - kapier ich nicht ganz steven85 Network · LAN, WAN, Firewalls 8 16.02.06 23:05
Sicherheit, ganz oder gar nicht? freak4fun Cryptography & Encryption 11 05.02.05 22:13
RAM nicht ganz erkannt Chris Die Problemzone 10 16.05.03 23:39


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61