Anfängerfragen
-
rand() erzeugt nur Pseudo-Zufallszahlen. Das heißt bei gleichem Seed erzeugt es immer die selbe Reihe an Zufallszahlen.
Du initialisierst den auch gar nicht, dafür nimmt man "srand". So könnte das dann ausschauen:int main() { srand(time(0)); int zahl; do { zahl = rand() % 50 + 1; cout << zahl << endl; } while (zahl != 42); cout << "Da ist sie!" << endl; //getch(); }Scheinbar erzeugt er bei dir uninitialisiert immer die erste Zahl so, dass rand()%50+1 == 42

Und noch 2 Anmerkungen:
void main() ist kein gültiges C++! der return ist immer int! (int main()).
Und wenn du in C++ keine Parameter für eine Funktion (hier main()) angibst, kannst du dir das void als Parameter sparen.
-
Ohne srand liegt noch weniger Zufall vor als mit srand.
Und immer schön int main() {return 0;} schreiben

lg, freakC++
-
freakC++ schrieb:
Und immer schön int main() {return 0;} schreiben

Nein

-
freakC++ schrieb:
Und immer schön int main() {return 0;} schreiben

Ein guter Compiler kann das wegoptimieren; es wird dann gar kein binary erzeugt

Im Ernst: Das "return 0" kann man sich sparen.
-
Der Vollständigkeit halber sollte das gesetzt werden.

lg, freakC++
-
freakC++ schrieb:
Der Vollständigkeit halber sollte das gesetzt werden.

Das hat nichts damit zu tun, der Standard erlaubt explizit, in
maindasreturnwegzulassen (dann wird0zurückgegeben).
Warum sollte man es also schreiben?
-
freakC++ schrieb:
Der Vollständigkeit halber sollte das gesetzt werden.

So ein Unsinn.
Oder schreibst du auch "der Vollständigkeit halber" das
voidin leeren Parameterlisten?
-
Nexus schrieb:
freakC++ schrieb:
Der Vollständigkeit halber sollte das gesetzt werden.

So ein Unsinn.
Oder schreibst du auch "der Vollständigkeit halber" das
voidin leeren Parameterlisten?*Räusper*
http://www.c-plusplus.net/forum/viewtopic-var-t-is-233351-and-highlight-is-.html
-
SeppJ schrieb:
*Räusper*
http://www.c-plusplus.net/forum/viewtopic-var-t-is-233351-and-highlight-is-.html
Und dann nicht einmal konsistent. :p
int main ()Wie auch immer, beides ist unnötig und ist primär Stilsache. Wobei
voidin Parameterlisten in C++ relativ selten anzutreffen ist.
-
Hallo,
wie gesagt, ich habe selbst Bücher, die auf das void bestehen und ich habe es einst selbst verwendet, bis ich von euch eines besseren belehrt wurde. Das mit der Vollständigkeit war nicht ganz so ernst gemeint - daher der Smilie. Aber nunja. Ich schreibe momentan stets return und das mit dem Standard wusste ich nicht.Naja - wieder was gelernt

lg, freakC++
-
@freakC++
Steht auch in deinem Buch :p