CodeSnippets

From FlowerHouseWiki
Revision as of 21:53, 17 December 2021 by Tropaion (talk | contribs) (→‎C++)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

C

C++

Code for animated shell progress bare like: [===> ]50%

#include <iostream>
#include <unistd.h> // for sleep()

using namespace std;

void DrawProgressBar(int len, double percent) {
  string progress;
  for (int i = 0; i < (len-1); ++i) {
    if (i < static_cast<int>(len * percent))
    {
      progress += "=";
    }
    else if((i == static_cast<int>(len * percent)))
    {
        progress += ">";
    }
    else
    {
      progress += " ";
    }
  }
  cout << "\r[" << progress << "] " << (static_cast<int>(100 * percent)) << "%" << std::flush;
}

int main()
{
    double i = 0.01;
    for (;;) {
        sleep(1);
        DrawProgressBar(100, 0.99);
        i += 0.05;
    }
}