Zahl zweistellig ausgebn



  • an sich funktioniert es so wie ich es oben gepostet habe. Das Problem ist jetzt, dass wenn die Prozentzahl Zweistellig wird, ich zwei Schritte zurückgehen muss. Da ich nicht per if Abfrage überprüfen will ob ich ein- oder zweimal zurück muss, würde ich gerne die Prozentzahl immer zweistellig ausgeben, und dann auch immer zwei Stellen zurückgehen.
    Also 01 -> 02 ->...->10->...

    Ich hoffe ihr könnt mir helfen,
    Vielen Dank im Voraus

    Ich programmiere unter Windows mit Visual Studio 08



  • Ah,

    hoppla. Wusste nicht, was '\b' macht.

    Also, das wird mit "int" nicht ganz funktionieren. Du müsstest das Ergebnis casten.

    for (int i = 0; i < Anzahl; i++)
    {      
    std::cout <<"\b" << (double)i/AnzahlDurch100;
    }
    


  • Das mit dem Leeren des Buffers funktioniert zwar, aber ich habe vor der Schleife noch etwas stehen, was auch stehen bleiben soll. Daher kann ich es nicht verwenden.
    Trotzdem vielen Dank



  • Sunny31 schrieb:

    for (int i = 0; i < Anzahl; i++)
    {      
    std::cout <<"\b" << (double)i/AnzahlDurch100;
    }
    

    Super, das funktionier! Danke



  • (:



  • imho gibts da auch was fertiges von boost - oder war das eher ne art übung?

    [url=http://www.boost.org/doc/libs/1_36_0/libs/timer/timer.htm#Class progress_display]boost[/url]
    na toll - wer bitte kommt denn auf die idee, nen leerzeichen in ne url zu machen? OO

    da gabs glaub auch noch progress_bar, hab ich allerdings gar nicht mehr gefunden...

    bb

    edit: wollte den link bauen, musst du halt kopieren, wenns dich interessiert^^



  • Ist die hier beschriebene Vorgehensweise portabel? Eine Prozentanzeige würde ich mir hin und wieder auch in meinen Programmen wünschen 🙂



  • IdR müsste das portabel sein, ja. Portabler und performanter als system() -Aufrufe.



  • zuzuas schrieb:

    Ist die hier beschriebene Vorgehensweise portabel? Eine Prozentanzeige würde ich mir hin und wieder auch in meinen Programmen wünschen 🙂

    nein, soweit ich weiß nciht
    \b geht nur so lange, wie der stream nicht geflusht wurde - was einmal auf der konsole steht, kann C++ lt Standard imho nicht mehr ändern/löschen...

    wenn portabel, würde ich die boost-variante nehmen - aber auch die bietet vermutlich nicht das, was man sich eigtl bei ner prozentangabe wünschen würde(nämlich nur iwo die zahl).
    wenn man iwo in der ecke ne prozentanzeige braucht, würd ich betriebssystem-spez. fkt nehmen, das aber so bauen, dass man es mit wenig aufwand auch portieren könnte, wenn das nötig sein sollte...

    bb



  • unskilled schrieb:

    wenn man iwo in der ecke ne prozentanzeige braucht, würd ich betriebssystem-spez. fkt nehmen, das aber so bauen, dass man es mit wenig aufwand auch portieren könnte, wenn das nötig sein sollte...

    bb

    Ja, so würde ich das auch machen. Vor allem denke ich, dass es kein grosses Problem ist ein paar solche Funktionalitäten zu wrappen und dann die verschiedenen Implementierungen anzubieten. (Beschränkt sich ja fast auf einen Funktionsaufruf, um beliebig wo was hinschreiben zu können).


Anmelden zum Antworten