anfänger im borland c++



  • Hi

    Mir war langweilig also habe ich das schnell programmiert , falls du es überhaupt noch gebrachen kannst... naja auf jeden fall isses ne übung gewese.

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <ctime>
    using namespace std;
    
    int zahl;
    int zahl1 = 0;
    int zahl2 = 0;
    
    int main(void)
    {
    
        srand( static_cast<unsigned> (time(0)) );
    
        for(int i = 0; i != 100; i++)
        {
                int Zufall = rand()%21 + 1; 
                if(Zufall == 13)
                {
                          zahl1++;
                }
    
                zahl2 += static_cast<unsigned> (Zufall);
    
        }
    
    cout << "Die zahl 13 wurde " << zahl1 << " mal gerollt!";
    cout << "\n";
    cout << "Die Summe aller gerollten zahlen ist " << zahl2;
    cout << "\n";    
    system("Pause");
    return 0;
    
    }
    

    Und an die anderen leute: bitte lüncht mich net wenn ich was unpraktisch oder schlecht programmiert hab... bin selber noch der totale anfänger 🙄

    und sry wegen schlechtem stil.. weiß net wie ich im forum son code fenster mach...



  • wir lynchen dich nicht wegen deines Programmierstils, wir lynchen dich, weil du keine Codetags verwendet hast! 🤡



  • Steven.St schrieb:

    und sry wegen schlechtem stil.. weiß net wie ich im forum son code fenster mach...

    code markieren und unten bei den knöpfen [C/C++] anklicken.



  • Hab das nicht so gemeint, dass jemand meine "Hausaufgaben" machen soll. Ich möchte das lernen, nur hat voriges jahr zum teil schon der lehrer versagt. Und der Neue in diesem Jahr setzt gewisse Sachen schon voraus, die keiner von der Klasse bewältigen kann, aber egal, ich will nicht jammern sondern, was dabei lernen. Jedenfalls danke für die Antworten.

    mfg

    Michael



  • Steven.St schrieb:

    [cpp]

    srand( static_cast<unsigned> (time(0)) );

    for(int i = 0; i != 100; i++)
    {
    int Zufall = rand()%21 + 1;
    if(Zufall == 13)
    {
    zahl1++;
    }

    zahl2 += static_cast<unsigned> (Zufall);

    Wo ist hier

    srand( static_cast<unsigned> (time(0)) );
    

    gegenüber

    srand(time(NULL));
    

    der vorteil?

    bzw. was macht hier "static_cast<unsigned>" für einen sinn?

    MfG
    Gustl



  • Gustl schrieb:

    Wo ist hier

    srand( static_cast<unsigned> (time(0)) );
    

    gegenüber

    srand(time(NULL));
    

    der vorteil?
    bzw. was macht hier "static_cast<unsigned>" für einen sinn?

    das verrate ich dir, wenn du mir den vorteil von

    srand(time(NULL));
    

    gegenüber

    srand(time(0));
    

    verraten tust.



  • Ich würde sagen das es zwischen 0 und NULL keinen gibt?



  • Gustl schrieb:

    Ich würdesagen das es zwischen 0 und NULL keinen gibt?

    Technisch hast du recht. Aber die Wahrheit ist, daß ganz viele Menschen ganz fest dran glauben, nur bittere Medizin sei gut. Je schwachsinniger und aufwendiger zu befolgen eine Stil-Regel ist, desto mehr und entschiedenere Anhänger findet sie. Die "Single-Entry/Single-Exit"-Regel verbietet, bei bereits feststehendem Ergebnis, die Berechnung zu beenden, der Code wird aufgeblasen und schwer wartbar. Struktogramme machen das Planen umständlicher, verhindern praktisch den Vergleich von Planungsvarienten und führen damit zu schlechtem Code. Die Ungarische Notation macht den Code von oben bis unten unleserlich und beschäftigt sich mit unwichtigem Krimskrams. UML beschäftigt sich mit abstrakter Architektur und ist zu weit von Programm und Sprache weg, um hilfreich zu sein. Anscheinend sehnen sich Programmierer nach Beistand und Anleitung, nach Geboten und Richtlinien. Dabei ist es nicht wichtig, daß es "gut" ist, woran man sich festhalten kann, sondern nur, daß man sich dran gut festhalten kann. Und das kann man um so besser, je schrecklicher und menschenverachtender die Regel ist. Sie muß so weh tun, daß man gar nicht mehr ins filosofieren kommen kann, daß man sich um die wirklichen Problemem, zum Beispiel, wie man Code baut, den man in ein paar Jahren noch lesen kann, gar nicht kümmern kann.



  • Ohhh volkard, wenn du da mal nicht wieder ein Fass aufgemacht hast 🙂 Du hast viele schöne Argumente gebracht, bei denen einige User hier gerne mal wieder unendlich viel zu schreiben wollen. Hoffen wir mal das das nicht wieder in einem ekligen Off-topic Thread endet wie des öfteren.In meinen Augen hast du aber vollkommen Recht.



  • eine recht neue masche ist es, den code mit static_cast vollzumüllen. mit erheblichen schäden, die den gläubigen (wie üblich) nicht vermittelbar sind. die schäden sind unlerserlichmachung längerer ausdrücke, das wegmachen von wichtigen warnungen bei plattformwechsel, das wegspülen der signalwirkung von static_cast in den schlimmen fällen wie upcasts.

    schaut und genießt eine besondere blüte:

    int zahl2 = 0;
    ...
    int Zufall = rand()%21 + 1;
    ...
    zahl2 += static_cast<unsigned> (Zufall);
    


  • Also "nützt" dieser ausdruck wohl nur zur unübersichtlichkeit des codes.

    Warum auch leicht wenns schwer und kompliziert geht, danke, mehr wollte ich nicht wissen 😃

    Grüßen


Anmelden zum Antworten