前段时间做作业的时候想到的,觉得最起码可以拿来让演示过程不那么枯燥,代码也还是比较简单的。
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
using namespace std;
void line(int a)
{
int i,j;
if(a>50)
a=50;
for(i=0;i<a;i++)
{
cout<<"▇";
}
for(j=a;j<50;j++)
cout<<" ";
}
int main()
{
int i;
const int NUM=50;
for (int i=0;i<=NUM;i++)
{
Sleep(20);
line(i);
printf("%.2lf%%\r", i * 100.0/ NUM);
}
}
记住添加windows.h头文件,调用sleep函数以及输出时的\r(表明从这一行的开头重新输出)。
在line函数中保持输出的方块数和空格数的总数不变,随着主函数中的for循环的次数增加,调用line函数时方块输出数增加,达到进度条长度增长的效果,同时百分数一直保持在最右端。