1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Zufallsgenerator mit C++

Discussion in 'Programmieren' started by Ganxxxta, Dec 7, 2004.

Thread Status:
Not open for further replies.
  1. Ganxxxta

    Ganxxxta Byte

    Hallo,
    ich wollt fragen ob mir jemand mal ein Code Beispiel für nen Zufallsgenerator sagen kann. Hab nämlich erst vor kurzem angefangen zu programmieren.

    Danke im voraus
     
  2. Michi0815

    Michi0815 Guest

    #include <stdio.h>
    void srand(unsigned int);
    int rand(void);
    int main ()
    {
    int z;
    srand(4711); /*initialisieren des (zufalls)zahlengenerators mit 4711 */
    z = rand();
    printf("\nZahl: %d\n", z);
    return 0;
    }
     
  3. Ganxxxta

    Ganxxxta Byte

    Hi,
    Danke erst mal. Ich ab noch zwei Fragen: was bedeutet
    "srand(4711); /*initialisieren des (zufalls)zahlengenerators mit 4711 */" und ich wollt die Zahlen auf einem normalen schreibgeschützten Eingabefeld erscheinen lassen. Wie muss ich den Code einfügen dass die Zahlen dort angezeigt werden? Muss ich den einfach nur in die {} Klammern einfügen?
     
  4. specialist7

    specialist7 Kbyte

    hallo!

    srand bedeutet. dass er seine zufallsrechenoperation mit dieser zahl beginnt. die könntest statt dessen auch zum beispiel auch die ticks angeben, die seit systemstart vergangen sind. so erhälst du /fast) immer eine neue zufallszahl...

    benutzt die die standard winapi für dein eingabefeld oder mvc oder so etwas in der richtung?
     
  5. Ganxxxta

    Ganxxxta Byte

    hallo,
    ich benutze mfc. bis jetzt steht da nur

    void CGigantDlg::OnChangeEdit4()
    {

    }

    Ich will den code so einfügen, dass auf dem schreibgeschützten eingabefeld eine zufallszahl zwischen 100 und -100 erscheint.

    muss ich dann den code nur einfügen, also

    void CGigantDlg::OnChangeEdit4()
    {
    #include <stdio.h>
    void srand(unsigned int);
    int rand(void);
    int main ()
    {
    int z;
    srand(4711); /*initialisieren des (zufalls)zahlengenerators mit 4711 */
    z = rand();
    printf("\nZahl: %d\n", z);
    return 0;
    }

    wenn ich das so mache heisst es aber es gäbe 58 fehler.
     
  6. specialist7

    specialist7 Kbyte

    also mfc...

    onchange wird aufgerufen, wenn etwas geändert wird...

    und include kommt nach ganz oben in die src-datei... ;) vllt solltest du dir noch einmal die grundlagen anschauen. -.-
     
  7. Michi0815

    Michi0815 Guest

    was ich dir gegeben habe ist ein fix-fertiges c-programm. das kannst du doch nicht einfach wie es ist in eine methode reinpfriemeln :D

    zuerst (zum bleistift im init() oder wie das bei dir sonst heisst) musst du den zufallszahlengenerator initiieren. dazu brauchst du srand(<irgendwas>). idealerweise verwendest du wie oben schon gesagt die uhrzeit oder den tick dafür.

    in die CGigantDlg::OnChangeEdit4() kommt dann nur die zuweisung der zufallszahl mit rand() in das feld. nachdem rand() eine zahl zwischen 0 und 32767 liefert musst du das noch "aufbereiten" also z = (rand() % 200) - 100.
     
Thread Status:
Not open for further replies.

Share This Page