C语言实现进度条彩色变化

【C语言】实现一个变色的进度条

原创 2017年03月31日 20:39:30

实现一个如上的进度条

要求

1、依次多打印一个'#'

2、并后面标注百分比

3、还可以进行变色

实现进度条(未变色)

strip.c

  1. #include<stdio.h>  
  2. #include<unistd.h>  
  3.   
  4. #define M 100  
  5.   
  6. int main()  
  7. {  
  8.     char ch = '#';  
  9.     char str[M] = {0};  
  10.     int i = 0;  
  11.     char symbol[4] = {'|','/','-','\\'};  
  12.     for(i = 0; i<M; ++i)  
  13.     {  
  14. <span style="white-space:pre">  </span> str[i] = '#';  
  15.         printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);  
  16.         fflush(stdout);  
  17.         usleep(10000);  
  18.         printf("\n");  
  19.         system("clear");  
  20.     }  
  21.     return 0;  
  22. }  
#include<stdio.h>
#include<unistd.h>

#define M 100

int main()
{
	char ch = '#';
	char str[M] = {0};
	int i = 0;
	char symbol[4] = {'|','/','-','\\'};
	for(i = 0; i<M; ++i)
	{
		str[i] = '#';
		printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);
		fflush(stdout);
		usleep(10000);
		printf("\n");
		system("clear");
	}
	return 0;
}

现在让我们实现变色版本

定义颜色头文件 color.h

  1. #define NONE                "\033[m"   
  2. #define RED                 "\033[0;32;31m"   
  3. #define LIGHT_RED        "\033[1;31m"   
  4. #define GREEN             "\033[0;32;32m"   
  5. #define LIGHT_GREEN            "\033[1;32m"   
  6. #define BLUE                     "\033[0;32;34m"   
  7. #define LIGHT_BLUE              "\033[1;34m"   
  8. #define DARY_GRAY             "\033[1;30m"   
  9. #define CYAN                     "\033[0;36m"   
  10. #define LIGHT_CYAN             "\033[1;36m"   
  11. #define PURPLE                   "\033[0;35m"   
  12. #define LIGHT_PURPLE           "\033[1;35m"   
  13. #define BROWN                  "\033[0;33m"   
  14. #define YELLOW                 "\033[1;33m"   
  15. #define LIGHT_GRAY             "\033[0;37m"   
  16. #define WHITE                "\033[1;37m"   
#define NONE                "\033[m" 
#define RED                 "\033[0;32;31m" 
#define LIGHT_RED		 "\033[1;31m" 
#define GREEN			  "\033[0;32;32m" 
#define LIGHT_GREEN            "\033[1;32m" 
#define BLUE                     "\033[0;32;34m" 
#define LIGHT_BLUE              "\033[1;34m" 
#define DARY_GRAY             "\033[1;30m" 
#define CYAN                     "\033[0;36m" 
#define LIGHT_CYAN             "\033[1;36m" 
#define PURPLE                   "\033[0;35m" 
#define LIGHT_PURPLE           "\033[1;35m" 
#define BROWN                  "\033[0;33m" 
#define YELLOW                 "\033[1;33m" 
#define LIGHT_GRAY             "\033[0;37m" 
#define WHITE                "\033[1;37m" 

在strip.c中引入 color.h 并实现变色

  1. #include<stdio.h>  
  2. #include<unistd.h>  
  3. #include"color.h"  
  4.   
  5. #define M 100  
  6.   
  7. int main()  
  8. {  
  9.     char ch = '#';  
  10.     char str[M] = {0};  
  11.     int i = 0;  
  12.     char symbol[4] = {'|','/','-','\\'};  
  13.     for(i = 0; i<M; ++i)  
  14.     {  
  15.         int c = i%5;  
  16.         switch(c)  
  17.         {  
  18.             case 0:  
  19.                 printf(RED);  
  20.                 break;  
  21.             case 1:  
  22.                 printf(GREEN);  
  23.                 break;  
  24.             case 2:  
  25.                 printf(BLUE);  
  26.                 break;  
  27.             case 3:  
  28.                 printf(YELLOW);  
  29.                 break;  
  30.             case 4:  
  31.                 printf(BROWN);  
  32.                 break;  
  33.         }  
  34.   
  35.         str[i] = '#';  
  36.         printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);  
  37.         fflush(stdout);  
  38.         usleep(100000);  
  39.         printf("\n");  
  40.         system("clear");  
  41.     }  
  42.     printf("\033[0m");  
  43.     return 0;  
  44. }  
#include<stdio.h>
#include<unistd.h>
#include"color.h"

#define M 100

int main()
{
	char ch = '#';
	char str[M] = {0};
	int i = 0;
	char symbol[4] = {'|','/','-','\\'};
	for(i = 0; i<M; ++i)
	{
		int c = i%5;
		switch(c)
		{
			case 0:
				printf(RED);
				break;
			case 1:
				printf(GREEN);
				break;
			case 2:
				printf(BLUE);
				break;
			case 3:
				printf(YELLOW);
				break;
			case 4:
				printf(BROWN);
				break;
		}

		str[i] = '#';
		printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);
		fflush(stdout);
		usleep(100000);
		printf("\n");
		system("clear");
	}
	printf("\033[0m");
	return 0;
}

实现一个Makefile

  1. strip.exe:strip.c  
  2.     gcc strip.c -o strip.exe -g  
  3. .PHONY:clean  
  4. clean:  
  5.     rm -f strip.exe  
strip.exe:strip.c
	gcc strip.c -o strip.exe -g
.PHONY:clean
clean:
	rm -f strip.exe

运行结果


版权声明:本文由 皓皓松博客 创作,转载请附带链接,有问题欢迎交流。

在Linux下用C语言写一个小程序实现一个进度条编写Makefile来进行运行

运行结果如下:                代码:Makefile编写:

C语言实现的百分比加进度条的显示程序

项目中需要设计一个远程设备升级程序,程序优化时想在数字显示升级进度的同时用类似wget的进度条的形式显示升级进度,于是写了一个简单的数字+进度条显示升级进度的程序,但求读者举一反三,以达到抛砖引玉的效...

【程序员之路】我是前端工程师,怎么了?

今天我30岁了,在此之际,回想我的程序生涯之路,十分感慨,谈谈我作为程序员的选择之路..

实现进度条——基于c语言和shell脚本

实现进度条——基于c语言和shell脚本       今天分享一下基于c语言和shell脚本的进度条的实现以及运行界面。       进度条即计算机在处理任务时,实时的,以图片形式显示处理任务的速...

【C语言】进度条实现

模拟电脑程序安装的进度条提供两种方式代码如下:#include #include#includevoid proc(){int i = 0;for...

【C语言】实现彩色的进度条

【Linux】shell脚本实现进度条

AI 工程师职业指南

我们请来商汤、杜邦、声智、希为、58同城、爱因互动、中科视拓、鲁朗软件等公司 AI 技术一线的专家,请他们从实践的角度来解析 AI 领域各技术岗位的合格工程师都是怎样炼成的。

Linux下用C语言来实现简单的进度条

一、源代码#include#includevoid proc(){   int rate=0;//进度率 表示进度走的百分比   char bar[102]={0};//初始化进度条大小 ...

Linux C语言下TCP传文件,并显示传输进度条

1.本文介绍将文件通过sever传到client端,并显示传输进度条2.打开一个终端,执行./file_server在file_server所在目录下放好要传的文件tianitande.m...

c语言linux编写进度条

编写一个简单的进度条首先需要注意几个点,第一回车和换行的区别,回车为\n,指从后面回到这一行的第一列,换行为\r,指从本行移至下一行,不改变列的位置,所以平时的ENTER键是回车加换行,第二点缓冲区,...

shell实现一个简单进度条

shell简单语法 条件测试用命令test或[ 测试一个条件是否成立。如果测试条件为真,命令的Exit Status为0,测试条件为假,Exit Status为1。 这里输入的数字比10大,条件...
  • xs_520
  • xs_520
  • 2017年06月29日 17:25
  • 475

三种方式实现自定义圆形页面加载中效果的进度条,包含一个好看的Android UI

一、通过动画实现定义res/anim/loading.xml如下:xmlns:android="http://schemas.android.com/apk/res/android">  ...

Linux中实现一个简单的进度条

说起进度条,其实大家常常见到,比如说你在下载视频或文件的时候,提示你当前下载进度的就是我们今天要说的进度条,进度条的模拟实现是挺简单的,但是要做的比较实用还是需要注意很多地方的,下来我就一步步的深入分...

一个数据收集进度条的实现

这次项目涉及到一个淘宝数据收集的过程,使用thinkphp实现的整个网站。其中在数据收集的过程中,因为数据导入是一项很费时的事情,如果让导入页面一直没有响应,用户都不知道发生了什么事情。三波一折,总算...
  • bupthua
  • bupthua
  • 2012年07月28日 15:42
  • 1100

Linux中实现一个简单的进度条

说起进度条,其实大家常常见到,比如说你在下载视频或文件的时候,提示你当前下载进度的就是我们今天要说的进度条,进度条的模拟实现是挺简单的,但是要做的比较实用还是需要注意很多地方的,下来我就一步步的深入分...

iOS实现一个颜色渐变的弧形进度条

转自:http://www.2cto.com/kf/201403/284399.html在Github上看到一些进度条的功能,都是通过Core Graph来实现。无所谓正确与否,但是开发效率明显就...

C实现一个进度条

平常是否做过一些小项目需要耗费一定的时间?看着别人的软件上的进度条着实有些羡慕,不放来实现一个简单的进度条吧!我们需要将【】左右中括号“固定”在屏幕的两边,然后依次用“=”将它填满,是从左向右的。...

Android中用图片自定义一个进度条(实现蒙板效果)

对于进度条我相信大家不陌生,这里我就不再多说什么了。因为这个不是重点。我们要说的是如何去自定义一个不一样的进度条。这里用到两张图片(背景和前景),其实是三张(背景、前景和蒙图)。当我们的蒙图在移动的时...

MFC中用c++语言实现进度条和定时器

一.使用VS2015创建新项目->MFC应用程序->基于对话框 二.在对话框中添加Progress Control控件和一个Button控件 三.双击“启动”Button进入代码编辑,...

iOS实现一个颜色渐变的弧形进度条

在Github上看到一些进度条的功能,都是通过Core Graph来实现。无所谓正确与否,但是开发效率明显就差很多了,而且运行效率还是值得考究的。其实使用苹果提供的Core Animation能够非常...

博主专栏

展开

在线课程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值