思路:太简单就不多说了
#include<stdio.h>
#include<cstdlib>
#define N 20
void mBar(float fBar)
{
int i,j,k,m;
for ( i=0;i<N+11;i++ )
printf("\b");//退格,删除之前的输出
k=N*fBar;//放大N倍
m=fBar*100;//变为整数,输出
printf("[");
for ( i=0;i<k;i++ )
printf("=");
if (i<20)
printf (">");
else
printf ("=");
for ( j=0;j<N-k;j++ )
printf(" ");
printf("] %3d%%",m); //输出结尾数字
}
void MBar(int x)
{
int i;
for (i=0;i<30;i++ )
printf("\b");//退格,删除之前的输出
// system("cls");//清屏函数
printf("[");
for(i=0;i<N;i++)
{
if(i<x/5||x/5==N-1)//输出等号,x/5==N-1,把最后的'>'变成'='
printf("=");
else if(i==x/5)//输出'>'
printf(">");
else
printf(" ");//输出空格
}
printf("] %3d%%",x);//输出结尾数字
}
void delay(int n) //延时函数
{
int i,j,k;
for ( i=0;i<n;i++ )
for ( j=0;j<0x07fff;j++ )
k++;
}
int main()
{
float x;
int i;
for ( i=0,x=0;i<100;i++,x+=0.01 )
{
MBar(i);
delay(100);//延时
}
MBar(100);
/*
for (i=0,x=0;i<100;i++,x+=0.01 )
{
mBar(x);
delay(1024);//延时
}
mBar(1);
*/
return 0;
}