C语言实现变色进度条

C语言实现一个如下的变色进度条,供大家参考,具体内容如下

要求

1、依次多打印一个'#'
2、并后面标注百分比
3、还可以进行变色

实现进度条(未变色)
strip.c

#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)
 {
<span style="white-space:pre;"> </span> str[i] = '#';
  printf("[%-100s][%%%d][%c]",str,i,symbol[i%4]);
  fflush(stdout);
  usleep(10000);
  printf("\n");
  system("clear");
 }
 return 0;
}

现在让我们实现变色版本

定义颜色头文件 color.h

#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 并实现变色

#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

strip.exe:strip.c
 gcc strip.c -o strip.exe -g
.PHONY:clean
clean:
 rm -f strip.exe

运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C语言实现类似wget的进度条效果

    本文主要是类似wget的进度条的实现,实际就是转移符\r的使用,\r的作用是返回至行首而不换行 复制代码 代码如下: #include <stdio.h> #include <stdlib.h> #include <unistd.h> //类似wget的进度条的实现,实际就是转移符\r的使用,\r的作用是返回至行首而不换行 int main(int argc, char *argv[]) {     unsigned len = 60;     char *bar =

  • C语言实现变色进度条

    C语言实现一个如下的变色进度条,供大家参考,具体内容如下 要求 1.依次多打印一个'#' 2.并后面标注百分比 3.还可以进行变色 实现进度条(未变色) strip.c #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

  • 易语言进度条制作步骤

    今天,我给大家带来如何弄进度条! 1.打开易语言!拉一个进度条.按钮.时钟(位置随意.大小随意) 2.时钟周期更改为(1000) 3.双击(按钮)进入窗口程序集 输入代码:时钟1.时钟周期 = 20 4.双击(时钟)进入窗口程序集 输入代码: .如果 (进度条1.位置 = 100) 时钟1.时钟周期 = 0 载入 (窗口1, , 真) .否则 .如果结束 .如果 (进度条1.位置 ≠ 100) .否则 .如果结束 进度条1.位置 = 进度条1.位置 + 1 5.哈哈!现在一切就绪,大家点击手里的

  • C语言进度条的实现原理详解

    目录 \r和\n 行缓冲区 进度条 \r和\n 在程序里面,\r和\n分别代表什么意思? \r:表示“回车”,即回到当前行的起始位置 \n:表示换行,即列不变,另其一个新行 行缓冲区 什么是行缓冲区?先别慌,来看代码一执行会是什么样的状态. //代码一,mytest.c文件 # include <stdio.h> int main(void) { printf("hello linux"); sleep(1); return 0; } 现象:光标休息一秒后,打印出hello

  • 易语言将进度条当前进度显示出来的方法

    位置属性 所属对象:进度条   操作系统支持:Windows,数据类型:整数型: 指定对象的现行位置. 语法:  对象.位置 =  整数型 应用对象:进度条 例程 说明: 在位置时钟的控制下,进度条的位置发生改变,将进度条当前的位置显示出来 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • 易语言设置进度条边框样式的方法

    边框属性 所属对象:进度条   操作系统支持:Windows,数据类型:整数型: 本属性指定对象边框的类型. 可供选择的属性值: 0.无边框 1.凹入式 2.凸出式 3.浅凹入式 4.镜框式 5.单线边框式 语法:对象.边框 =  整数型 应用对象:进度条 例程 说明: 设置进度条的边框样式为边框样式组合框当前选中的项目. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • 易语言改变进度条的方向

    方向属性 所属对象:进度条   操作系统支持:Windows,数据类型:整数型: 可供选择的属性值: 0.横向 1.纵向 语法:  对象.方向 =  整数型 应用对象:进度条 例程 说明: 改变进度条的方向. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • 易语言使用标签实现进度条功能的代码

    标签实现进度条功能代码 .版本 2 .支持库 iext .支持库 EThread .程序集 窗口程序集1 .程序集变量 百分比, 整数型 .子程序 周期事件 .如果 (图片框1.宽度 = 200) 百分比 = 0 图片框1.宽度 = 2 标签1.宽度 = 2 .否则 图片框1.宽度 = 图片框1.宽度 + 2 标签1.宽度 = 标签1.宽度 + 2 百分比 = 百分比 + 1 透明标签1.标题 = "正在前进%" + 到文本 (百分比) .如果结束 .子程序 _时钟1_周期事件 启动线

  • Android自定义圆形倒计时进度条

    效果预览 源代码传送门:https://github.com/yanzhenjie/CircleTextProgressbar 实现与原理 这个文字圆形的进度条我们在很多APP中看到过,比如APP欢迎页倒计时,下载文件倒计时等. 分析下原理,可能有的同学一看到这个自定义View就慌了,这个是不是要继承View啊,是不是要绘制啊之类的,答案是:是的.但是我们也不要担心,实现这个效果实在是so easy.下面就跟我一起来看看核心分析和代码吧. 原理分析 首先我们观察上图,需要几个部分组成: 1. 外

  • shell脚本实现多彩进度条

    先贴代码 #!/bin/bash i=0; str="" arr=("|" "/" "-" "\\") while [ $i -le 100 ] do let index=i%4 let indexcolor=i%8 let color=30+indexcolor printf "\e[0;$color;1m[%-100s][%d%%]%c\r" "$str" &qu

随机推荐