使用字符串完成进度条的设计,要求:(1)显示当前进度的百分比(2)动态刷新显示当前的进度
时间: 2023-06-03 15:05:10 浏览: 143
非常好的问题!以下是一个示例代码,用于构建一个简单的进度条:
```
#include <iostream>
#include <string>
#include <windows.h> // 程序中用到了Windows.h头文件,如果是Mac或Linux操作系统请自行更改
using namespace std;
int main()
{
int nMax = 100; // 进度条最大值
int nProgress = 0; // 当前进度
int nWidth = 30; // 进度条显示框的宽度
string strBar; // 进度条显示框
char cFull = '=', cEmpty = ' '; // 进度条显示的字符
while (nProgress <= nMax)
{
// 计算当前进度条要显示的百分比
int nPercent = (nProgress * 100) / nMax;
// 计算当前进度条要显示的长度
int nBarWidth = (nProgress * nWidth) / nMax;
// 构建进度条显示框
strBar.clear();
strBar.append("[");
strBar.append(nBarWidth, cFull);
strBar.append(nWidth - nBarWidth, cEmpty);
strBar.append("]");
// 在控制台输出进度条
cout << "\r" << nPercent << "% " << strBar << flush;
// 增加进度
nProgress++;
// 等待一定时间,模拟正在进行的耗时操作
Sleep(100); // 暂停100毫秒,即0.1秒
}
return 0;
}
```
这个程序使用了一个while循环,每次循环计算出当前的进度,然后构建一个包含百分比和进度条的字符串,输出到控制台。在每次更新进度时,程序暂停100毫秒,以模拟一个正在进行中的操作。
注意,如果你想拓展该程序,建议使用多线程来处理进度条的显示,以避免阻塞主程序。
阅读全文