Erklärung



  • Bin neu dabai und habe dementsprechend ein naives Problem.
    Benötige eine genau Erlkärung des folgenden Problemes:
    #include <time.h>
    #include <stdlib.h>
    #include <iostream.h>

    void main() {
    srand((unsigned)time(NULL));
    double tmp;
    tmp = rand() % 100;
    cout << tmp << endl;
    }

    Danke 🙂



  • Welches Problem?



  • Ich verstehe nicht, wie das Program funktioniert bzw. warum die einzelnen Schritte vorgenommen wurden. Aus diesem Grund benötige ich eine explizite Erläuterung jeder Zeile.
    Thx 🙂



  • bitte löschen



  • #include <time.h> // deklariert Funktionen für Zeit und Datum
    #include <stdlib.h> // deklariert diversen Krempel, u.a. rand und srand für den Zufallsgenerator
    #include <iostream.h> // deklariert u.a. den Ausgabestrom cout
      // Leerzeile
    void main() {  // beginn des Hauptprogramms
        srand((unsigned)time(NULL));  // initialisiert den Zufallsgenerator mit der aktuellen Zeit
        double tmp; // deklariert eine lokale Variable vom Typ double (= Fließkommazahlen doppelter Genauigkeit)
        tmp = rand() % 100;  // tmp wird eine Zufallszahl modulo 100 zugewiesen (dh der Rest bei einer Division durch 100)
        cout << tmp << endl; // tmp wird auf dem Strom cout (Standardausgabestrom) ausgegeben
    } // Ende von main
    

    Vielleicht sollte man dazusagen, dass das Programm nach Standard-C++ teils veraltet, teils falsch ist. Richtig:

    #include <ctime>
    #include <cstdlib>
    #include <iostream>
    using namespace std;
    
    int main() {
      srand(static_cast<unsigned>(time(0)));
      double tmp = rand() % 100;
      cout << tmp << endl;
    }
    

Anmelden zum Antworten