CodeSnippets: Difference between revisions

From FlowerHouseWiki
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:


== C++ ==
== C++ ==
<div class="toccolours mw-collapsible mw-collapsed" style="width:50%;">
<div class="toccolours mw-collapsible mw-collapsed" style="width:80%;">
Code for animated shell progress bare like: [===>  ]50%
Code for animated shell progress bare like: [===>  ]50%
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
<syntaxhighlight lang="C++" line>
<syntaxhighlight lang="C++" line>
dad
#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;
    }
}
 
</syntaxhighlight>
</syntaxhighlight>
</div>
</div>
</div>
</div>
<div class="toccolours mw-collapsible" style="width:auto; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">Code for animated shell progress bare like: [===>  ]50%</div>
<div class="mw-collapsible-content">
This text is collapsible. {{Lorem}}
</div></div>

Latest revision as of 21:53, 17 December 2021

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;
    }
}