Ausgabe von "arbeite noch"-Meldung in einer Schleife



  • die möglichkeit mit dem thread habe ich - aber nicht die fähigkeit 😉

    sowas hab ich noch nie gemacht.



  • es gibt immer ein erstes mal .. oder etwa nicht 😉

    gruessle



  • Benja_m schrieb:

    die möglichkeit mit dem thread habe ich - aber nicht die fähigkeit 😉

    sowas hab ich noch nie gemacht.

    Wenn du Programmieren willst musst du auch dafür Fähigkeiten haben, oder sie dir beibringen.
    Alternativ kannst du natürlich auch den Timer vom Betriebsystem auslesen und alle drei Sekunden eine Meldung raushauen:

    !Pseudocode!

    t1 = getTime(); 
    //blablalba
    t2 = getTime();
    
    if ( t2 - t1 > deinegewünschtezeit )
      std::cout << "meldung\n";
    

    grüße



  • Schau mal in Boost Library rein, da gibts sowohl Threads als auch Timer. Letzteres stellt eine Art Progressbar für die Konsole bereit.



  • David_pb schrieb:

    Benja_m schrieb:

    die möglichkeit mit dem thread habe ich - aber nicht die fähigkeit 😉

    sowas hab ich noch nie gemacht.

    Wenn du Programmieren willst musst du auch dafür Fähigkeiten haben, oder sie dir beibringen.

    natürlich, deswegen der 😉 hinter meiner aussage (nennen wir es mal faulheit :))

    David_pb schrieb:

    Alternativ kannst du natürlich auch den Timer vom Betriebsystem auslesen und alle drei Sekunden eine Meldung raushauen:

    !Pseudocode!

    t1 = getTime(); 
    //blablalba
    t2 = getTime();
    
    if ( t2 - t1 > deinegewünschtezeit )
      std::cout << "meldung\n";
    

    naja, da kann ich dann aber auch meinen Counter benutzen, kommt aufs selbe hinaus 😉

    Trotzdem danke !



  • Artchi schrieb:

    Schau mal in Boost Library rein, da gibts sowohl Threads als auch Timer. Letzteres stellt eine Art Progressbar für die Konsole bereit.

    Danke, werd es mal hiermit probieren:
    http://www.boost.org/libs/timer/



  • Ich denke simpler wäre umformulieren in der folgenden Art:
    aus

    for( int i= 0; i < e; ++i )
    {
        blubb();
    }
    

    wird:

    for( int i= 0; i < e; ++i )
    {
        int e2= min( i + zahl, e )
        for( ; i < e2; ++i )
        {
            blubb();
        }
        std::cout << "alive";
    }
    

    Bye, TGGC (Das Jahr des Helden)



  • *rauskram*

    TGGC schrieb:

    Ich denke simpler wäre umformulieren in der folgenden Art:

    for( int i= 0; i < e; ++i )
    {
        int e2= min( i + zahl, e )
        for( ; i < e2; ++i )
        {
            blubb();
        }
        std::cout << "alive";
    }
    

    Wie stelle ich das an, wenn ich als Ausgangspunkt eine while-Schleife habe, die auf einen wert schaut, der in ihr geändert wird ?
    da fällt mir dann wieder nur der umweg über eine zählervariable ein 😞



  • die while- als for-schleife(n) umschreiben !?



  • int ret = 0;
    while (ret == 0) {
        ...
        ret = blub();
        ...
    }
    

    so is meine schleife. komme grad nicht drauf, wie ich das in eine for-schleife packen soll ... 😕
    vielleicht isses zu einfach ? 🙄



  • Würde mir spontan auch nix besseres zu einfallen als

    int ret = 0;
    while (ret == 0) {
        for (int i = 0; ret == 0 && i < 100; ++i) {
            ...
            ret = blub();
            ...
        }
        cout << "alive!" << endl;
    }
    

    Was auch über nen Zähler ist, nur anders implementiert...


Anmelden zum Antworten